Как выполнить пакетную обработку изображений, чтобы разделить и собрать их по вертикали?

У меня 6000 картин с двумя горизонтальными полосами текста, одна сверху, другая снизу.

Цель состоит в том, чтобы вырезать верхнюю панель и поместить ее под нижнюю строку текста. Как бы я сделал это в пакетном процессе? Я знаю, что XnView может разрезать изображения пополам и обрезать их в пакетном процессе, но хитрость заключается в том, чтобы соединить их вместе в пакетном режиме.

Мой вход показан слева; желаемый результат показан справа:

РЕДАКТИРОВАТЬ: Я, честно говоря, сбит с толку, что вы бы описали это как "слишком широкий". Я старался придерживаться общих правил, потому что КАЖДЫЙ РАЗ я упоминаю о программе, вы прыгаете мне на шею и кричите о слишком конкретном, "спрашивая мнение об одной программе против другой", поэтому, возможно, вы, люди, должны решить, хотите ли вы услышать об отдельных программы или нет.

Я попробовал использовать PaintShop Pro от Corel, чтобы вырезать ОДНО изображение, но мне не хватает времени, чтобы сделать это для более чем 6000 изображений.

Затем я попробовал XnView, но в нем есть только функция обрезки, а не функция "стежка назад вместе".

Если вы просто не понимаете, о чем я прошу, скажите, пожалуйста.

1 ответ

Microsoft Windows [Версия 10.0.17134.706]

Скачать Imagemagick для Windows

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
https://www.imagemagick.org/script/command-line-options.php
https://www.imagemagick.org/script/command-line-options.php
https://www.imagemagick.org/script/command-line-options.php

Пакетный файл для обработки всех изображений:

Обработка.jpg (ролл, обрезка и добавление) может ухудшить их, поэтому лучше начинать с перезаписи. Скопируйте все ваши изображения в "%USERPROFILE%\Desktop\ Новая папка \"

@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 
Другие вопросы по тегам