Як обрізати межі / пробіли з зображення?


52

У мене дуже багато зображень, які мають білі рамки навколо них. Я хотів би обрізати ці межі відразу, бажано з командного рядка. Я вважаю, що це можна зробити за допомогою ImageMagick, але я не зміг знайти відповідну команду.

Я знаю, що це можна зробити за допомогою програми Windows під назвою Irfanview з опцією "Автоматичне обрізання кордонів", але я шукаю рішення, засноване на Ubuntu та бажано на основі командного рядка.


Ви пробували Gimp?
Мітч

1
@Mitch Ні, я не знав, що в Gimp є пакетний режим. У будь-якому випадку, використання ImageMagick Trim простіше, тому я буду залишатися з цим рішенням.
Рафал

У дупі загалом пропонуються рішення GUI ...
Вільф

Відповіді:


65

ImageMagick обробка

Параметр командного рядка, який trimвикористовується разом із convertабо mogrifyдозволяє обрізати межі того ж кольору, що і кути зображення.

Використання:

convert input.png -trim output.png

Додаткові параметри -fuzzтакож видаляють кольори біля кутових кольорів. Скористайтеся опцією +repageдля видалення полотна (якщо є).

ImageMagick Пакетна обробка (знайти)

Вищенаведена команда для ImageMagick Trim також може використовуватися для пакетної обробки зображень у поєднанні з findкомандою:

find ./ -name "pattern" -exec convert {} -trim outputfolder/{} \;

обріже всі зображення, що відповідають patternчастині команди та збереже їх у новій папці з назвою outputfolder.

Якщо припустити, що зображення є PNG, тоді команда буде виглядати приблизно так:

find ./ -name "*.png" -exec convert {} -trim outputfolder/{} \;

ImageMagick Пакетна обробка (змініть)

Хоча findдозволяє набагато більше контролювати, де будуть розміщені вихідні файли, це також можна зробити з ImageMagick mogrify:

mogrify -trim *.png

Зверніть увагу, що на відміну від convertі пакетної операції з findі convert зміною перезаписуються всі файли . Найкраще зробити резервну копію всіх зображень у каталозі, перш ніж продовжувати команду mogrify.

Бічна примітка: mogrifyможе використовуватися для виконання більшості (якщо не всіх) convertоперацій у пакетному пакеті, перезаписуючи оригінальні файли.

IrfanView

IrfanView досить добре працює з Wine . Не забудьте уважно перевірити вихід Irfanview, оскільки він іноді ламає зображення при використанні з Wine.


Це працює. Дуже дякую. Я додав інформацію про пакетну обробку зображень за допомогою ImageMagick при комбінованій findкоманді, як це не було у вашій відповіді.
Рафал

9
Я використовував mogrify -trim *.jpgдля обрізання всіх зображень у поточній папці.
Buttle Butkus

1
Це чудово. Це врятувало мені багато часу. TX :)
antmw1361

@ButtleButkus Я змінив відповідь, щоб включити цю інформацію. Я чомусь забув про цей варіант раніше.
Рафал

1
чи можна обрізати PNG зображення по його висоті, зберігаючи фіксовану ширину?
ddas
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.