• 3

[教學] JPEG 無耗損旋轉, 並加上自動化右鍵功能

JPEG圖像的處理, 在每一次的打開, 再存檔的過程, 都有可能導致因為解壓後再壓縮而引起的損耗,
Mac上的影像軟體大部份在處理JPEG的旋轉都是破壞性的, ex: photoshop, iphoto

但對於單純的旋轉動作, 數學上是可以有辦法使圖像旋轉而無耗損圖像本身的資料.
這是因為JPEG的檔案格式本身是以一個個模塊為單位(8x8)來壓縮, 所以只需要把模塊重排, 再對每個模塊旋轉即可以達至無損耗的旋轉.

在Mac上看圖時, 直拍的照片他會自動以直的方式顯現, 那是因為拍照時,
相機會把此時相機直拍或橫拍記錄在EXIF資訊中, 但基本上這張照片還是以橫的方向存檔.

目前我需要的是一套jpeg lossless rotate的軟體,
可以自己到我指定的目錄下去看所有圖檔的EXIF資訊,
然後自動轉正後, lossless再存檔起來的軟體就好了....

剛剛找到這個軟體:
http://txfx.net/code/os-x/automatic-lossless-jpg-rotation/

如果用他包好的app作,
把所有圖檔拉進去可以自己判定要不要轉, 基本上可以達到我的要求,
可惜的是他會把檔案create date改變, 這樣以後就不知道這張照片什麼時後拍的了...
有點可惜,

試了一下他有option可以不改變檔案日期, 我們可以利用Automator來讓使用更簡單.
把jhead 與 jpegtran 考貝到/bin/ 下.
先要開terminal, 打" sudo -s " 然後輸入管理者密碼,
之後才可以把jhead 與 jpegtran 考貝到/bin/ 下,
再打" chmod 555 jhead jpegtran"

然後打開Automator, 做這樣的指令:
[教學] JPEG 無耗損旋轉, 並加上自動化右鍵功能

再來把這個指令加到選單: 取名叫做"lossless rotate"
[教學] JPEG 無耗損旋轉, 並加上自動化右鍵功能

之後就到照片目錄下把照片全選後, 滑鼠右鍵:
(這邊不用擔心要選哪些圖需要旋轉, 因為這個軟體會自己看相片的EXIF檔, 需要轉的才會轉)
[教學] JPEG 無耗損旋轉, 並加上自動化右鍵功能

這樣就會把全部照片EXIF中是需要旋轉的圖都轉過後, lossless存檔, 而且保留下原來檔案的日期,
與所有的EXIF information.

試跑一下: 一個目錄中有100張照片, 其中20張需要璇轉,
在1.6G的Macbook air上, 不用1分鐘就處理完了.

為什麼需要這個?
因為以前我都不用iphoto, 但是這一代的iphoto有人臉辨識跟新的撥放功能後, 很想用,

但是iphoto輸入圖庫後, 如果照片是直拍的, 他會幫你轉好後,
放到modify資料夾, 等於一張照片就佔了兩份的空間,
而且他轉完的照片不是lossless的, ex本來照片3.8MB, 轉完變成3.2MB, 這樣也不好....
有了這個軟體後, 照片就可以先轉好再輸入iphoto, 不用擔心照片品質改變或佔兩份空間.
2009-02-10 23:37 發佈
吼~感恩啊!我之前也在找Mac上可非破壞性旋轉JPG的軟體,想不到大大不但報出軟體,還附上了自定的使用方法,感恩感恩
好文阿,有像大大這樣大無私的精神真的是mobile01上的好榜樣!有這個後,就不怕照片被破壞了
這個方法會把色彩描述檔的資訊拿掉
在finder 裡面及時瀏覽似乎還是橫的
如果能把描述檔資訊補上, 相關資訊拿掉
不知道有無解乎?
jonesuki wrote:
Mac OS X 1...(恕刪)

兄台意思是 iLife '08 之後的使用者
照片也不會因為需要旋轉而多出一份?
而 Mac OS X 10.4 之後的使用者
也不需要用樓主的方式做此旋轉的步驟?
用預覽轉就可以了嘛?
系統不讓我填寫太長的簽名檔所以我只好用短短的簽名檔來當作我的簽名檔真是傷心為什麼簽名檔不可以填寫太長真是可憐的簽名檔...
jonesuki wrote:
Mac OS X 1...(恕刪)


那是輸入之後需要修改時才會使用非破壞性編輯
iPhoto 在輸入的時候都會很"聰明"的把Exif 設定直的轉成真正直的
在這個過程可不是lossless 的,
更何況連修改都沒改過就自動幫我多"備份"了一份
我32GB 的原始照片就有莫名的多出10.44GB 未曾編輯過的duplicate
用jhead 程式轉直就不會有這種無謂的duplicate

BTW, 剛剛研究了一下jhead
建議在jhead 後面在多加個參數值

jhead -autorot -ft -rgt "$f"

如此從iPhoto 拉出來照片的thumbnail 就會是直的了
你說的跟這個是無衝突的.
1. Mac OX內鍵的Viewer是可以不用轉圖, 看EXIF檔, 自動轉正顯示, 是沒錯的,
但當你把這個jpg拿到不會自動轉正的電腦, 或是軟體上, 他還是倒的.
2. iphoto 講的 nondestructive editing 主要是他在電腦中放一份origin的圖, 跟一份modify的圖.
每次修改圖他會拿origin的圖檔出來做, 做完後存檔, 這個存檔動作就已經耗損壓縮了.
所以他的優點是做很多次修改, 都只耗損壓縮一次.
不相信你可以把一張圖輸入, 旋轉後, 再存成新檔, 檔案大小一定不一樣了....
3. 無耗損是有條件的, 基本上只要一對照片做修改, tool一定會對jpeg decode再encode.
只要重新encode一定就會耗損.
4. 目前可以無耗損的應用應該只有在rotate和crop. 可以針對本來8x8的block的資料重新排列而不decode再encode.

jonesuki wrote:
Mac OS X 1...(恕刪)
因為我的Canon 5D 的thumbnail 就是直的了, 所以我就沒加這個option了.

bugsbear wrote:
BTW, 剛剛研究了一下jhead
建議在jhead 後面在多加個參數值
jhead -autorot -ft -rgt "$f"
如此從iPhoto 拉出來照片的thumbnail 就會是直的了(恕刪)
baldwinhuang wrote:
因為我的Canon ...(恕刪)


哭哭~我的50D 竟然都是塞橫的....這就是所謂中高階相機的差距嗎?
  • 3
內文搜尋
X
評分
評分
複製連結
Mobile01提醒您
您目前瀏覽的是行動版網頁
是否切換到電腦版網頁呢?