将双页扫描图(横向)拆分为单页,再沿印刷竖线切割为三列。
脚本通过命令行参数传入目录和页码,不含硬编码路径,可直接用于任意项目。
pip install pillow numpy scipy
C:\Users\xiong\AppData\Local\Python\bin\python.exe
向用户收集以下信息后执行:
xxx_页面_
使用 split_pages.py 沿书脊将横向双页扫描图切为左右两页。
python split_pages.py <输入目录> <前缀> <起始页码> <结束页码> [-d 位数] [-o 输出目录]
参数说明:
输入目录:图片所在文件夹
前缀:文件名前缀
起始页码:文件名中的起始数字
结束页码:文件名中的结束数字
-d:页码位数,默认 3
-o:输出目录,默认 输入目录/output/切图
示例:
python split_pages.py "D:\扫描图" "数学课本_页面_" 97 104
如果文件名页码与书本实际页码不一致,用 PowerShell 批量重命名:
cd "<第1步的输出目录>"
$prefix = "<文件名前缀>"
$startFile = <文件名起始页码>
$startPage = <实际起始页码>
$count = <双页扫描张数>
for ($i = 0; $i -lt $count; $i++) {
$old = $startFile + $i
$newL = $startPage + $i * 2
$newR = $newL + 1
Rename-Item "${prefix}$("{0:D3}" -f $old)_左.jpg" "${prefix}${newL}.jpg"
Rename-Item "${prefix}$("{0:D3}" -f $old)_右.jpg" "${prefix}${newR}.jpg"
}
使用 split_columns_v2.py 沿印刷竖线将单页切为三列。
python split_columns_v2.py <输入目录> <前缀> <起始页码> <结束页码> [-o 输出目录]
参数说明:
输入目录:单页图片目录,通常是第1步的输出
前缀:文件名前缀
起始页码:起始实际页码
结束页码:结束实际页码
-o:输出目录,默认 输入目录/分列
示例:
python split_columns_v2.py "D:\扫描图\output\切图" "数学课本_页面_" 109 124
$py = "C:\Users\xiong\AppData\Local\Python\bin\python.exe"
$skill = "C:\Users\xiong\.copilot\skills\scan-page-split\scripts"
& $py "$skill\split_pages.py" "<图片目录>" "<前缀>" <起始页码> <结束页码>
& $py "$skill\split_columns_v2.py" "<图片目录>\output\切图" "<前缀>" <实际起始页码> <实际结束页码>
共 1 个版本