題:
如何在一次操作中將大量數碼照片旋轉180度?
Johns-305
2016-09-01 21:02:51 UTC
view on stackexchange narkive permalink

我用GoPro拍攝了幾千張顛倒的圖像。

我正在尋找一種方法,一個真正的應用程序,可以一次操作將所有圖像翻轉180度。

我已經查看了GoPro自己的軟件中的每個選項,但並非僅針對靜止圖像。製作視頻時可以旋轉,但是我想保留單個圖像。

我在Windows上。

相關且非常相關:[“ Windows Photo Viewer”旋轉是否無損?](http://photo.stackexchange.com/q/12361/11924)
jpegtran是必經之路。它可以無損地旋轉和/或翻轉JPEG,並且由於它是一個CLI應用程序,因此很容易從腳本中調用。
十三 答案:
Please Read My Profile
2016-09-01 21:47:18 UTC
view on stackexchange narkive permalink

我會推薦 JPEGclub.org中的此列表中的任何應用程序,該應用程序將為Independent JPEG Group開發和維護軟件。他們有一個稱為 jpegtran 的免費代碼,可以進行一些基本的轉換(例如旋轉),而無需重新編碼圖像。

“幼稚”的方式(渲染到位圖,重新定位位圖並重新保存)可能會導致增加的JPEG偽像-以及包含較少有用數據的更大文件。

列表上麵包含了眾所周知的“正確方法”的軟件。其他軟件也可能(也許使用不同的代碼庫),但是不幸的是ImageMagick並不是其中之一。但是,截至2016年8月,包括Windows在內的許多不同計算平台有87種不同的選擇。


註釋說明:OP根據以下答案使用了此循環:

  FOR%f IN(。\ Src \ *。*)DO jpegtran.exe-旋轉180%f。\ Rotated \%〜nxf  

,效果很好。 / p>

請注意,無損旋轉僅在每個圖像的每個尺寸為16像素的倍數時才有效–如果未使用色度二次採樣,則為8。否則,要么丟失多餘的像素,要么用邊框填充圖像。例如,1080不是* 16的倍數!
我贊同jpegtran的建議;更好的是,如果您關心保持EXIF的縮略圖和“ Orientation”標籤一致,則可以考慮[`exiftran`](https://www.kraxel.org/blog/linux/fbida/) JPEGclub列表,但無損。我的命令(在Linux上)是`exiftran -i -1 * .jpg`或`find。名稱'* .jpg'-print0 | xjobs -0 -l 10 exiftran -i -1`;這將需要適應Windows Shell。
@Toby好補充。列出的程序中的許多(大多數?)也將保留和更新元數據,這是我推薦其中一個而不是直接使用jpegtran的原因之一。
謝謝!我在Windows上使用了jpegtran。 180度旋轉正是我所需要的。我將精確的批處理命令放在問題中以供將來參考。
@Johns-305很高興能為您提供幫助。關於問題的編輯,請參閱http://meta.photo.stackexchange.com/questions/1601/should-edits-which-add-the-accepted-answer-to-the-question-reverted
@mattdm我應該然後編輯標記的答案嗎?傳達實際解決方案的正確方法是什麼?
@Johns-305完成操作後,選中“已接受”複選框可表明答案對您有用-無需執行更多操作。如果您想添加更多詳細信息,則可以在此處將它們添加為註釋(也與您一樣)。如果只是簡單的加法,則可以編輯答案。如果是複雜的更改,則可以將其實際發佈為您的_own_答案。
null
2016-09-01 21:35:13 UTC
view on stackexchange narkive permalink

您可以將 ImageMagick rotate 選項一起使用:

 轉換image.jpg-旋轉180 result.jpg  

您應該可以將此命令應用於多個文件,具體取決於您的環境。

請注意,儘管這樣會重新編碼jpeg,從而降低質量。
Agent_L
2016-09-02 13:59:39 UTC
view on stackexchange narkive permalink

在Windows上,您可以在兩次操作中無需任何其他軟件的情況下進行操作。在文件資源管理器中選擇要旋轉的文件,右鍵單擊併兩次“向右旋轉”(或向左旋轉)。如果圖像允許(例如尺寸不“有趣”),它將無損地完成。

什麼是“有趣”尺寸?為什麼照片的尺寸會阻止無損旋轉?
在閱讀[Windows Photo Viewer旋轉是否無損嗎?](http://photo.stackexchange.com/q/12361/11924)之後,我現在明白了。兩個尺寸都必須是8的倍數才能無損旋轉。
這是最好的答案。我加入該網站只是為了對此表示贊同。
Olivier Dulac
2016-09-01 23:35:46 UTC
view on stackexchange narkive permalink

您可以在Windows上使用 xnview,該窗口具有一些批處理模式處理,並且對於圖像的簡單旋轉,可以選擇基於exif數據旋轉圖像。

選擇所有圖像(甚至正確定向的圖像!它會知道它們已經很好地定向了),“根據exif旋轉”就可以了(無需重新計算jpg,因此不會損失質量)。

就像他們在 http://newsgroup.xnview.com/viewtopic.php?t=1420上說的那樣:

要這樣做,您可以選擇所有圖像,然後選擇“工具> JPG無損轉換”(或工具欄中的符號“ JPG無損轉換”下拉列表)。在對話框中,選中帶有“ EXIF”的按鈕,然後按“ Go”。 XnView會根據EXIF方向標記永久旋轉圖像。

下一次,如果您的gopro足夠近,您可能還需要檢查其功能: https://gopro.com/support/articles/what-is-auto-image-rotation

GoPro是否確實保存了正確的EXIF方向數據? Hero4 / Session具有方向傳感器,但我認為任何較舊的型號都沒有。
ths
2016-09-02 00:28:52 UTC
view on stackexchange narkive permalink

假設您的照片為JPEG格式,我相當偏愛 JPEGCrops,這是一種用於圖像的無損批量處理的簡單免費工具。

您可以裁剪為特定圖像長寬比和/或旋轉。

RocketFeathers
2016-09-02 02:46:27 UTC
view on stackexchange narkive permalink

請允許我建議僅在Windows上運行的Irfanview批處理模式。 Irfanview也適用於簡單的編輯,但它不是GIMP。

一旦安裝,請選擇“文件|批量轉換/重命名”。從那裡開始有點棘手,您需要選擇所有文件,需要指定目標文件夾,並且需要單擊“高級”按鈕以查看“高級”選項。它可以旋轉+/- 90°,但是要旋轉180°,您需要在最右邊選擇精細旋轉並輸入180°。請注意,您還可以調整它們的大小,更改JPEG質量並重命名它們。

您還可以通過留在GUI中並使用鍵盤來快速完成此操作。打開圖片文件夾中的任何文件。按兩次“ R”可旋轉兩次。然後按Ctrl-S保存。將顯示兩個窗口,一個是典型的文件對話框,第二個是JPEG壓縮(如果GoPro的默認格式是JPEG)。我會確保質量因子至少為90%。然後保存文件;您應該可以按Tab鍵或Alt-S進行保存。可能會出現“您確定”類型的對話框(可以將其關閉)。然後,只需按空格鍵即可前進到文件夾中的下一個文件。如果您有50多個文件,則批處理可能會更快。十個文件,我只是做上面的事情。

Irfanview的關鍵之處在於它像Blender,它不會詢問您是否要保存是否修改圖像。

這樣會產生有損的旋轉-旋轉時會旋轉,然後重新保存JPEG,因此質量下降。在IrfanView中,最好使用“ JPEG無損旋轉”功能(Shift + J)。請注意,您可以使用縮略圖視圖選擇所有圖像,然後一次旋轉它們。
@RocketFeathers-Irfanview是在Windows環境中無損執行此操作的最簡單工具。但是,就像vclaw所說的那樣,最好使用“ JPEG無損旋轉”來實現。編輯您的答案以反映這一點,我會投票贊成。
“它不會詢問您是否要保存是否修改圖像。” -可以在選項>屬性/設置...>要求在程序退出時保存更改來進行更改。
K. Minkov
2016-09-02 00:41:56 UTC
view on stackexchange narkive permalink

FSViewer是可以執行此操作的有用程序。

打開圖像所在的文件夾,選擇要旋轉的所有圖像,按F4並轉到打開的窗口中的“批量轉換”標籤。點擊右下角的“高級選項”,轉到“旋轉”標籤。選中“翻轉/旋轉”,然後選擇“旋轉”,然後在下面選擇“ 180”,然後單擊“確定”。設置要保存這些圖像的位置並單擊“轉換”。

編輯:一種更快,更輕鬆的方法就是選擇所有想要的圖像,然後單擊兩次“向右旋轉並保存”。對於JPEG應該是非破壞性的。

Arjihad
2016-09-02 16:09:03 UTC
view on stackexchange narkive permalink

在Windows中,您可以在資源管理器中標記所有窗口,然後右鍵單擊並選擇順時針旋轉。這樣做兩次,您的圖片現在就正確定位了。

TheUnexpected
2016-09-01 21:52:03 UTC
view on stackexchange narkive permalink

您知道GIMP嗎?有一個名為 BIMP的插件,可讓您使用圖形界面對一組圖像執行相同的操作。您可以使用Windows的官方安裝程序輕鬆地安裝它。

您還可以將它們重新保存為另一種格式或不同的壓縮率,以避免質量損失。

專業提示:我做到了:D

我認為您的意思是說“免責聲明”而不是“專業提示”:p但是很棒的軟件!我偶爾需要對GIMP進行批處理操作,而代之以編寫matlab代碼。下次我會記住您的工具:)
Caleb
2016-09-01 21:20:03 UTC
view on stackexchange narkive permalink

ImageMagick是一組在圖像上運行的命令行工具,您可以將這些工具與基本的Unix Shell命令結合使用,以將同一命令應用於一組文件。 如何使用imagemagick旋轉目錄中的所有圖像?

嗯...如果OP在Windows上並且不使用Cygwin ...? :)可能想添加“和Windows批處理文件”或擴展答案以指示ImageMagick不一定是僅UNIX的解決方案,而只是命令行之一。
今天下午將嘗試一下。 Windows二進製文件可用。
SB Ph.D.
2016-09-02 08:40:25 UTC
view on stackexchange narkive permalink

我個人使用Adobe Lightroom。可以輕鬆地批量旋轉和編輯圖像,只需選擇要旋轉的圖像,單擊鼠標右鍵,然後選擇通過旋轉180度來變換圖像的選項。

如果您要始終處理數千個圖像,需要批量處理的圖像,特別是如果它比旋轉更複雜時(例如調整顏色或曝光),那麼LR可能是一筆可觀的投資。並且不會在Linux系統上運行。但是,我發現這些功能遠遠超出了免費提供的功能。

bluerizlagirl
2016-09-02 01:53:25 UTC
view on stackexchange narkive permalink

$ for * in * jpg;轉換-rotate 180 $ F“ $(basename $ F .jpg)_R.jpg” && echo“ Done $ F”;完成

說明:*對於命令 .jpg 部分中的F,將文件名分配給變量,稍後可以調用以將文件重命名為 [原始文件名稱} _R.jpg

“進行轉換-旋轉180” 告訴計算機,您希望通過旋轉180度來轉換圖像。

命令的“ $(基本名$ F .jpg)_R.jpg” 部分錶示新文件名。

&& 告訴計算機,一條新命令即將來臨,但是只有在上一個(旋轉和重命名)命令成功的情況下,計算機才可以執行該命令。

echo“ Done $ F “ 告訴計算機,告訴您(“迴聲”)每個文件已成功旋轉。該命令的 $ F 子部分正在調用初始文件名變量,因此輸出可能會說明“ Done file1.jpg”的作用

sh / csh / bash可以正常工作。

這可能有效,但沒有解釋,這不是一個好答案。請說明在什麼情況下該解決方案(如果適用)。
這是使用ImageMagick擴展為null的答案嗎?
如果目錄中已經存在* _R.jpg文件,則此操作將無法正常工作。
謝謝您的澄清,我不確定在Windows上安裝UNIX Shell是否可行,但還是這樣。
pts,您可以將_R.jpg更改為所需的內容(例如“ _rotated.jpg”)。您是正確的,如果目錄中已經有_R.jpg文件,這將是有問題的。
robby987
2016-09-02 11:05:23 UTC
view on stackexchange narkive permalink

您可以使用LiveBlox並構建管道以允許旋轉圖像。 http://liveblox.org上的演示版本具有旋轉塊,因此將允許這樣做。

有一個教程 https://www.youtube.com/watch?v=kY0e5msQuiU展示瞭如何製作批量圖像縮放器,您只需要更換

這將使您能夠通過單擊來處理每個圖像。



該問答將自動從英語翻譯而來。原始內容可在stackexchange上找到,我們感謝它分發的cc by-sa 3.0許可。
Loading...