У меня есть каталог с большим количеством изображений, но они имеют неправильную ориентацию. Я хочу повернуть изображения для правильной ориентации (в основном ± 90 o ). С помощью средства просмотра изображений (снимок с фото) я могу поворачивать их по отдельности, нажимая кнопку поворота, но это слишком утомительно.
Я посмотрел man shotwell
и, shotwell --help-all
но нет ничего, что объясняет, как вызвать команду rotate из командной строки.
Можно ли как-нибудь вызвать команду поворота Shotwell (или любого другого зрителя) из терминала? Или любые другие методы для поворота изображения тоже приветствуются.
command-line
scripts
images
shotwell
pranphy
источник
источник
Ответы:
Если вы ищете чистую реализацию bash,
convert
вам нужна команда ImageMagick :Выше оставит существующие файлы без изменений и скопирует вновь повернутые файлы,
/tmp
чтобы вы могли переместить или скопировать их в другое место или даже заменить существующие после преобразования и после проверки .(и он будет работать на всех последних выпусках Ubuntu как стандартного программного обеспечения)
источник
Это будет копировать- вращать и переименовывать ваши файлы.
Если вы хотите оставить исходные файлы без изменений, этот метод может вам подойти ...
Обратите внимание, что это чувствительно к регистру: если ваши файлы называются * .jpg, замените их на строчные (или * .png ...) соответственно.
источник
Если вы хотите перезаписать на месте,
mogrify
из набора ImageMagick, кажется, самый простой способ добиться этого:ПРЕДУПРЕЖДЕНИЕ . Это не метод вращения без потерь для файлов JPEG, https://www.imagemagick.org/discourse-server/viewtopic.php?t=5899 .
jpegtran
достигает этого (не проверено):источник
mogrify
не без потерь для файлов JPEG, ноjpegtran
есть.Вот как я это делаю:
Установить gThumb
Откройте nautilus и перейдите в каталог изображений. Щелкните правой кнопкой мыши по одному и выберите
Open with -> gthumb
.Под
view
меню выберитеBrowser
или нажмите Escклавишу. Откроется браузер каталога со всеми вашими изображениями.Нажмите Ctrlи выберите изображения, которые вы хотите повернуть, или выберите все из них с помощью Ctrl+ A.
На панели инструментов выберите,
Tools
а затемRotate Right
или вRotate Left
зависимости от ваших предпочтений.источник
Хорошим решением является создание набора резервных копий (например, с префиксом
backup-
), вращение исходных файлов с получением набора новых файлов (например, с префиксомrotated-
), что дает вам наборimg-1.png
backup-img-1.png
rotated-img-1.png
img-2.png
В
mv
/cp
tools [bash globbing] можно добавлять только префиксы, грязно их убирать (будет использоваться расширение параметров, например ...)rename
Инструмент позволяет использоватьs/before/after/
заместительный синтаксис (отsed
инструмента) для обмена префикса защитительного и перезаписать исходные файлы, так что ваш общий процесс для данного набора картинокimg-
{1..n}.png
будет:Заметка:
cp
вместоmv
, но тогда есть 2 копии оригинала, лежащих без дела (недостатком является то, что вы получаете объединение префиксов, "rotated-backup-
...")-rotate 270
90 ° против часовой стрелки)echo "Rotating ${imgf#backup-} ... ";
послеconvert
звонков (доdone
)для более компактной формы (например, набора пронумерованных файлов) используйте расширение некоторых параметров, например,
echo "$(echo ${imgf#backup-img-} | cut -d\. -f 1)...";
вместо(Вы не можете удалить префикс и суффикс в одном расширении bash param, поэтому используйте
cut
)Затем после проверки вы не перепутали, удалите картинки, переместив их обратно в оригинал
источник
Вы можете скопировать / вставить этот код и сохранить его как
rotate.sh
После сохранения этого файла запустите его из терминала, используя
./rotate.sh folder_containing_images
.источник