То, что я хочу сделать, очень просто. У меня есть file.png
, который я хочу отразить, то есть результат должен быть «отражением» исходного изображения.
Я знаю, что большие инструменты, такие как GIMP и InkScape, могут сделать это, но я надеюсь на утилиту командной строки, что-то вроде convert
(которая, к сожалению, не имеет такой опции, или, по крайней мере, это не так упоминается на странице man
).
Из быстрого прочтения этого , по-видимому, convert
называет эту опцию -flop
для горизонтального зеркалирования, а -flip
для вертикального. Все, что мне нужно было сделать, это
convert -flop input.png output.png
Для этой конкретной задачи convert
, вероятно, лучший путь, но для такого рода вещей я часто использую библиотеку netpbm
, которая устанавливается (как и следовало ожидать) с помощью apt install netpbm
. Затем
pngtopnm input.png | pnmflip -lr \
| (other transformations if desired) \
| pnmtopng > output.png
Для этой задачи это излишне, но я часто нахожу себя пишущим одноразовые сценарии для преобразования или анализа файлов PNM особыми способами, которые не были бы доступны в convert
. Это относительно просто, потому что PNM - это в основном простейший растровый графический формат.
Если Вы хотите перезаписать оперативный, и у Вас есть тонна файлов изображений в той же папке, mogrify
от ImageMagick комплект, кажется, самый легкий способ достигнуть этого:
# mirror in the vertical axis:
mogrify -flip *.jpg
# mirror in the horizontal axis:
mogrify -flop *.jpg