Як я можу обертати багато цифрових фотографій на 180 градусів за одну операцію?


20

У мене є кілька тисяч зображень, зроблених за допомогою GoPro, які перевернуті.

Я шукаю спосіб, дійсно додаток, який може перевернути їх на 180 градусів за одну операцію.

Я розглядав усі варіанти власного програмного забезпечення GoPro, але не знаходжу це лише для фотографій. Ви можете обертатись під час створення відео, але я хочу зберегти окремі зображення.

Я в Windows.



jpegtran - це шлях. він може втрачати та / або гортати JPEG без втрат, і його легко зателефонувати зі сценарію, оскільки це програма CLI.
Sarge Borsch

Відповіді:


31

Я рекомендував би будь-яку з програм із цього списку на сторінці JPEGclub.org , яка розробляє та підтримує програмне забезпечення для незалежної групи JPEG. У них є вільний фрагмент коду, jpegtranякий називається, який може зробити деякі основні перетворення (наприклад, обертання) без повторного кодування зображення.

Поворот зображень "наївним" способом (перетворення на растрову карту, переорієнтація растрової карти та повторне збереження) може призвести до збільшення артефактів JPEG - і більших файлів з менш корисними даними.

У наведеному вище списку міститься програмне забезпечення, яке, як відомо, робить це "правильно". Інше програмне забезпечення також може (можливо, використовує іншу базу коду), але ImageMagick, на жаль, не є одним із них. Але станом на серпень 2016 року існує 87 різних варіантів для багатьох різних обчислювальних платформ, включаючи Windows.


Примітка з коментарів: ОП використовувала цю петлю на основі цієї відповіді:

FOR %f IN (.\Src\*.*) DO jpegtran.exe -rotate 180 %f .\Rotated\%~nxf

з хорошими результатами.


1
Зауважте, що обертання без втрат працює лише в тому випадку, якщо кожен вимір кожного зображення кратний 16 пікселів - 8, якщо підсвідомість кольоровості не використовується. В іншому випадку або зайві пікселі втрачаються, або зображення буде залите рамкою. Наприклад, 1080 не є кратним 16!
Gnubie

2
Я друге рекомендація jpegtran; ще краще, якщо ви дбаєте про збереження мініатюри та Orientationтегів EXIF послідовними, ви можете врахувати, exiftranякий неприйнятно відсутній у списку JPEGclub, але є без втрат. Моя команда (в Linux) для цього була б exiftran -i -1 *.jpgабо find . -name '*.jpg' -print0 | xjobs -0 -l 10 exiftran -i -1; для цього знадобиться адаптація для оболонки Windows.
Toby Speight

@Тобі Добре доповнення. Багато (більшість?) Перерахованих програм також зберігатимуть та оновлюватимуть метадані, що є однією з причин, я рекомендую один із них замість того, щоб просто jpegtranбезпосередньо.
mattdm

Дякую! Я використовував jpegtran у Windows. Поворот 180 - саме те, що мені було потрібно. Я ставлю точну команду партії у питанні для подальшої реф.
Джонс-305,

@ Johns-305 Радий, що можу допомогти. Щодо редагування питання, див. Meta.photo.stackexchange.com/questions/1601/…
mattdm

9

Ви можете використовувати ImageMagick з rotateопцією :

convert image.jpg -rotate 180 result.jpg

Ви повинні мати можливість застосувати цю команду до декількох файлів, залежно від вашого оточення.


10
Зауважте, що це перекодує jpeg, втрачаючи якість.
mattdm

8

У Windows ви можете це зробити без додаткового програмного забезпечення в ДВАХ операціях. Виберіть файли, які потрібно обертати у файлі Explorer, клацніть правою кнопкою миші та двічі зробіть "поворот праворуч" (або ліворуч). Це буде зроблено без втрат, якщо зображення дозволить (наприклад, розміри не є "смішними").


Які "смішні" розміри? Чому розміри фотографії запобігають обертанню без втрат?
scottbb

2
Після прочитання Чи обертання програми “Photo Photo Viewer” без втрат? , Я тепер розумію. Обидва розміри повинні бути кратними 8, щоб їх можна було обертати без втрат.
scottbb

1
Це найкраща відповідь. Я приєднався до сайту просто для того, щоб підтвердити це.
fi12

5

Ви можете використовувати xnview у Windows, який має деякі режими пакетного режиму, а також, для простого обертання зображень, є можливість обертати зображення на основі даних exif.

Виберіть усі зображення (навіть правильно орієнтовані! Знатиметься, що вони вже добре орієнтовані), "обертайтеся на основі exif", і це зробить (без перерахунку jpg, тому без втрати якості).

Як кажуть на http://newsgroup.xnview.com/viewtopic.php?t=1420 :

Для цього ви вибираєте всі свої зображення та вибираєте "Інструменти> JPG без втрат перетворень" (або спадний список символу "JPG перетворення без втрат" на панелі інструментів). У діалоговому вікні перевірте кнопку "EXIF" на ній і натисніть "Перейти". XnView буде постійно обертати зображення на основі прапора EXIF ​​орієнтації. "

І наступного разу, якщо у вас є досить недавній gopro, ви можете також перевірити його функцію: https://gopro.com/support/articles/what-is-auto-image-rotation


Чи GoPro фактично зберігає правильні дані орієнтації EXIF? У Hero4 / Session є датчик орієнтації, але я не думаю, що це старіші моделі.
vclaw

4

Припускаючи, що ваші фотографії у форматі JPEG, я досить частковий до JPEGCrops , простого та безкоштовного інструменту для пакетної обробки зображень без втрат.

Можна обрізати певні пропорції та / або обертати.


4

Можна запропонувати пакетний режим Irfanview, який працює лише в Windows. Irfanview також хороший для простих редагувань, але це не GIMP.

Після встановлення виберіть "Файл | Пакетне перетворення / Перейменування". Звідти це стає трохи хитро, вам потрібно вибрати всі файли, вам потрібно вказати папку призначення, і вам потрібно натиснути кнопку Додатково, щоб побачити додаткові параметри. Він може обертатися на +/- 90 °, але для того, щоб зробити 180 °, вам потрібно вибрати точне обертання в крайньому правому куті і ввести 180 °. Зауважте, що ви також можете змінити їх розмір, змінити якість JPEG та перейменувати їх.

Ви також можете зробити це досить швидко, залишившись у графічному інтерфейсі та використовуючи клавіатуру. Відкрийте будь-який файл у папці із зображеннями. Натисніть "R" два рази, щоб повернути двічі. Потім натисніть Ctrl-S, щоб зберегти. Відобразяться два вікна, одне - типовий діалог файлів, а друге - для стиснення JPEG (якщо типовим форматом GoPro є JPEG). Я би переконався, що коефіцієнт якості становить щонайменше 90%. Потім збережіть файл; ви повинні мати можливість натиснути клавішу Tab або Alt-S для збереження. Можливо, з’явиться діалогове вікно типу "Ви впевнені" (можливо, вимкніть це). Потім просто натисніть пробіл, щоб перейти до наступного файлу в папці. Якщо у вас є 50+ файлів, пакет може бути швидшим. Десять файлів, я просто роблю вище.

Ключовим для Irfanview є те, що він схожий на Blender, він не запитує, чи хочете Ви зберегти, якщо ви модифікуєте зображення.


3
Це призведе до втрати обертання - як їх обертання, то відновлення JPEG, так що ви втрачаєте якість. У IrfanView краще використовувати функцію "JPEG Rotaless Rotation" (Shift + J). Зауважте, що ви можете використовувати ескіз мініатюр для вибору всіх своїх зображень, а потім обертати їх усі відразу.
vclaw

1
@RocketFeathers - Irfanview - це найпростіший інструмент, за допомогою якого можна зробити це без втрат у середовищі Windows. Але як каже vclaw, набагато краще використовувати для цього "JPEG Rotation без обертання". Відредагуйте свою відповідь, щоб це відобразило, і я її схвалюю.
Майкл С

"не запитує, чи хочете Ви зберегти, якщо ви модифікуєте зображення." - Це можна змінити в Опціях> Властивості / Установки ...> Попросити зберегти зміни при виході з програми.
MrWhite

3

FSViewer - корисна програма, яка може це зробити.

Відкрийте папку, де є зображення, виберіть усе, що ви хочете обертати, натисніть F4 та перейдіть на вкладку "Пакетне перетворення" у вікні, яке відкриється. Натисніть "Додаткові параметри" в нижньому правому куті, перейдіть на вкладку "Поворот". Поставте прапорець "Перевернути / повернути", потім "Повернути", потім виберіть "180" нижче та натисніть кнопку ОК. Встановіть, де ви хочете зберегти ці, і натисніть «Перетворити».

Редагування: швидший і безболісніший спосіб - просто вибрати всі потрібні зображення та двічі натиснути «Поворот праворуч і зберегти» на панелі інструментів. Має бути неруйнівним для JPEG.


3

За допомогою вікон ви можете позначити всі, якщо вони є в провіднику, потім клацніть правою кнопкою миші та виберіть обертання за годинниковою стрілкою. Зробіть це два рази, і ваші фотографії тепер правильно орієнтовані.


2

Чи знаєте ви GIMP? Існує плагін під назвою BIMP, який дозволяє виконувати ту саму операцію на наборі зображень, використовуючи графічний інтерфейс. Ви можете легко встановити його за допомогою офіційного інсталятора для Windows.

Ви також можете знову зберегти їх в іншому форматі або з іншим співвідношенням стиснення, щоб уникнути великих втрат якості.

Про поради: Я зробив це: D


2
Я думаю, ви мали намір сказати "Відмова", а не "Підказка": p Але чудове програмне забезпечення! Мені були потрібні пакетні операції на GIMP раз у раз і вдався до написання коду matlab. Я буду мати на увазі ваш інструмент наступного разу :)
Tasos Papastylianou

1

ImageMagick - це набір інструментів командного рядка, які працюють на зображеннях, і ви можете комбінувати ці інструменти з основними командами оболонки Unix, щоб застосувати ту саму команду до набору файлів. Є чимало хороших прикладів, як обертати всі зображення в каталозі за допомогою Imagemagick? .


Гм ... а якщо ОП у Windows і не використовує Cygwin ...? :) Можливо, ви хочете додати "і пакетні файли Windows" або розгорнути відповідь, щоб вказати ImageMagick не обов'язково єдине рішення UNIX, а лише командний рядок.
чорнило

1
Спробую спробувати сьогодні вдень. Є бінарні файли Windows.
Джонс-305

1

Я особисто використовую Adobe Lightroom. Зображення можна легко обертати та редагувати, просто виберіть зображення, які ви хочете обертати, клацніть правою кнопкою миші та виберіть варіант для перетворення зображень обертанням на 180 градусів.

Якщо ви постійно працюєте з тисячами зображень, які потребують пакетної обробки, особливо якщо це складніше, ніж обертовий - як регулювання кольору чи експозиції, то LR, ймовірно, є надійною інвестицією.

Мені не подобається, що Lightroom є закритим джерелом, коштує грошей і не працюватиме в системах Linux. Однак я виявив, що функції значно перевищують доступне безкоштовно.


0

Ви можете використовувати LiveBlox і побудувати конвеєр, щоб дозволити обертання зображення. Демо-версія на http://liveblox.org має блок обертання, тому це дозволить зробити.

Існує підручник https://www.youtube.com/watch?v=kY0e5msQuiU, який показує, як зробити розмір пакетного зображення, вам потрібно просто замінити розмір фіксованого розміру на ротатор, щоб зробити обертання.

Це дозволить вам працювати над кожним зображенням одним клацанням миші.


-1

$ для F в * jpg; перетворити -ротацію 180 $ F "$ (базове ім'я $ F .jpg) _R.jpg" && echo "Готово $ F"; зроблено

Пояснення: * для F в .jpg частина команди призначає ім'я файлу змінній, яку можна буде відкликати пізніше, щоб перейменувати файл у [початкове ім'я файлу} _R.jpg

«Зробити новонавернений -rotate 180» повідомляє комп'ютер , що ви хотіли б ваші зображення конвертуються шляхом обертають на 180 градусів.

Частина команди "$ (базове ім'я $ F .jpg) _R.jpg" вказує нове ім'я файлу.

&& говорить комп'ютер , ніж додаткова команда приходить, але комп'ютер дозволений тільки для виконання команди , якщо попередні (обертається і перейменування) команда була успішно виконано .

echo "Готово $ F" повідомляє комп'ютеру сказати вам ("ехо"), що кожен файл був успішно повернутий. Підрозділ $ F команди нагадує початкову змінну імені файлу, тому висновок, ймовірно, скаже щось на ефект "Готово file1.jpg"

І, щоб цей твір працював, потрібно sh / csh / bash.


5
Це, можливо, працює, але без пояснень це не є вдалою відповіддю. Будь ласка, поясніть, у якому контексті це рішення, якщо воно застосовується.
null

1
Це розширення відповіді нуля за допомогою ImageMagick?
MikeW

Це не працює, як очікувалося, якщо *_R.jpgв каталозі вже є файли.
пт

Дякую за роз’яснення, я не впевнений, що встановлення оболонки UNIX на Windows - це практичний підхід, але це не менший підхід.
null

pts, ви можете змінити _R.jpg на що завгодно (наприклад, "_rotated.jpg"). Ви впевнені, що це буде проблематично, якщо у вас вже є файли _R.jpg в каталозі.
доктор філософії
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.