![如何批量处理图片以垂直方向分割和重新组合?](https://linux22.com/image/1591028/%E5%A6%82%E4%BD%95%E6%89%B9%E9%87%8F%E5%A4%84%E7%90%86%E5%9B%BE%E7%89%87%E4%BB%A5%E5%9E%82%E7%9B%B4%E6%96%B9%E5%90%91%E5%88%86%E5%89%B2%E5%92%8C%E9%87%8D%E6%96%B0%E7%BB%84%E5%90%88%EF%BC%9F.png)
我有 6,000 张图片,其中有两条水平文字,一条在顶部,一条在底部。
目标是剪切顶部栏并将其放在文本底部栏下。如何在批处理中执行此操作?我知道 XnView 可以批量剪切图片并将其裁剪,但诀窍似乎是批量将它们拼接在一起。
我的输入显示在左侧;期望的结果显示在右侧:
编辑:坦白说,我很困惑,为什么你会说这个“太宽泛”。我试着把它说得笼统一点,因为每次我提到一个项目,你都会跳到我脖子上大喊太具体了,“询问对一个项目和另一个项目的意见”,所以,也许你们应该决定是否想听听关于个别项目的意见。
我尝试使用 Corel 的 PaintShop Pro 剪切一张图片,但我没有时间对 6,000 多张图片进行同样的操作。
然后我尝试了 XnView,但它只具有剪切功能,而没有“缝合在一起”功能。
如果您不明白我在问什么,请说出来。
答案1
Microsoft Windows [版本 10.0.17134.706]
REM MOVE A ROW 32 PIXELS TALL STARTING FROM 0,0 TO THE BOTTOM USING ROLL
"%ProgramFiles%\ImageMagick-7.0.7-Q16\convert.exe" "%USERPROFILE% \Desktop\IQ1Xi.jpg" -roll +0-32 "%USERPROFILE%\Desktop\IQ1Xi2.jpg"
REM BRING THE TEXT CLOSER TOGETHER BY MAKING TWO CROPS OF IQ1Xi2.jpg AND -APPEND THEM
REM CROP 1
"%ProgramFiles%\ImageMagick-7.0.7-Q16\convert.exe" "%USERPROFILE%\Desktop\IQ1Xi2.jpg" -crop 352x204+0+0 "%USERPROFILE%\Desktop\IQ1Xi3.jpg"
REM CROP 2
"%ProgramFiles%\ImageMagick-7.0.7-Q16\convert.exe" "%USERPROFILE%\Desktop\IQ1Xi2.jpg" -gravity South -crop 352x24+0+0 "%USERPROFILE%\Desktop\IQ1Xi4.jpg"
REM FINISHED IMAGE USING -APPEND
"%ProgramFiles%\ImageMagick-7.0.7-Q16\convert.exe" "%USERPROFILE%\Desktop\IQ1Xi3.jpg" "%USERPROFILE%\Desktop\IQ1Xi4.jpg" -append "%USERPROFILE%\Desktop\IQ1Xi5.jpg"
原始图像:
滚动图像:
对滚动的图像进行两次裁剪并将它们附加在一起,使文本更加紧密地结合在一起。
作物一:
作物二:
完成的图像:
更多信息:
https://www.imagemagick.org/script/command-line-options.php#roll
https://www.imagemagick.org/script/command-line-options.php#crop
https://www.imagemagick.org/script/command-line-options.php#gravity
https://www.imagemagick.org/script/command-line-options.php#append
处理所有图像的批处理文件:
处理 .jpg(滚动、裁剪和附加)可能会降低其质量,因此最好从不覆盖开始。将所有图像复制到“%USERPROFILE%\Desktop\New folder\”
@echo off
SETLOCAL ENABLEEXTENSIONS
cd "%USERPROFILE%\Desktop\New folder\"
md "%USERPROFILE%\Desktop\New folder\processed\"
for /f "tokens=*" %%x in ('dir /b "%USERPROFILE%\desktop\new folder\*.jpg"') do (
"%ProgramFiles%\ImageMagick-7.0.7-Q16\convert.exe" "%%x" -roll +0-32 "%TEMP%\1.jpg"
"%ProgramFiles%\ImageMagick-7.0.7-Q16\convert.exe" "%TEMP%\1.jpg" -crop 352x204+0+0 "%TEMP%\2.jpg"
"%ProgramFiles%\ImageMagick-7.0.7-Q16\convert.exe" "%TEMP%\1.jpg" -gravity South -crop 352x24+0+0 "%TEMP%\3.jpg"
"%ProgramFiles%\ImageMagick-7.0.7-Q16\convert.exe" "%TEMP%\2.jpg" "%TEMP%\3.jpg" -append "%USERPROFILE%\Desktop\New folder\processed\%%x"
)
exit /b