Google
 

星期四, 4月 12, 2007

鏡頭變形的軟體校正方式-使用Photoshop

許多鏡頭或多或少都會產生一些變形,通常廣角鏡容易產生桶狀變形,而望遠鏡則容易產生枕狀變形。
例如這張三貂角燈塔,我用的是Nikkor 18-35mm變焦鏡,以18mm端拍攝。
燈塔本來就沒多高,加上變形顯得好像矮矮胖胖的。
於是我在Photoshop裡用PanoTools稍微調了一下,結果感覺就好多了。

校正前

校正後


如果你發現你畫面中原本應該是直線卻變成了曲線,那就是鏡頭變形的結果。
鏡頭變形在風景或人像拍攝中也許不是那麼重要,甚至有時會利用這種變形製造出誇張的效果,但它在建築攝影中通常是不受歡迎的。
利用PanoTools,你可以有效地校正這類變形的問題。

下載:
PanoTools是Helmut Dersch所寫的一套軟體,它主要的目的似乎是讓人製作全景圖用的,同時它含有Photoshop的Plug-in套件,可做鏡頭變形校正。我所用的,就是這個Photoshop的Plug-in套件。
你可以在Helmut Dersch的網頁下載。
或可直接點這裡下載。

安裝:
將PanoTools.zip解壓縮後,會有一堆東西。
1.先不管其它東西,在PanoTools目錄下會有一個
pano12.dll
將這個檔手動複製到你的Windows目錄中。
2.在PanoTools\Photoshop Plugin目錄下,會有四個.8bf檔和一個.atn檔:
adjust.8bf, correct.8bf, perspect.8bf, remap.8bf, PanActions.atn
將這些檔案放到你的 C:\Program Files\Adobe\Photoshop CS\增效模組\濾鏡 目錄中
這樣便算安裝完成。

使用:
啟動Photoshop時Photoshop會自動偵測你所安裝的濾鏡,你會發現濾鏡選單中多了一個Panorama Tools的選單。
在Photoshop中開啟你要校正的檔案,然後選擇濾鏡->Panorama Tools->Correct,這時會出現個Correct Options的對話視窗。
勾選Radial shift後按下Options,又會出現一個Set Polynomial Coefficients for Radial Correction的對話視窗。
!
這個視窗裡的參數就是重點所在了!
Correction Mode應選擇Radial表示是做環形校正(以照片中心為圓心)!

這裡看到一個多項式,很多人大概從高中以後就很少再看到這樣的算式了。
這個多項式講的是校正前後的每一點像素之間的關係,而透過這個關係式可以完美地校正鏡頭所產生的變形。
其中r_src和r_desc指的是校正前後的像素與圖片中心的距離。一個鏡頭的變形狀況,在r相同的情況下是一樣的。
我們要決定的是a, b, c, d 四個參數的值。
對一般鏡頭而言, a, b, c三個參數的絕對值都小於0.1, 變形愈嚴重, 這些參數的值就愈大。
a, b, c若為負,則可校正廣角鏡造成的桶狀變形;為正,則可校正望遠鏡造成的枕狀變形。
而校正前後的距離,由d這個參數決定它們的線性關係。所以d可以決定要放照片放大或縮小。
若要維持校正前後的大小一致,則應滿足下列這個條件:
a + b + c + d = 1

因此在這個例子中, 我們設定a = 0, b = -0.01, c = -0.03, d = 1.04。
由於每顆鏡頭(在每個焦段)的變形是不同的,甚至和對焦距離也有關,所以這些參數都要靠使用者自己去調整,試出一個最適當的參數組合。
若只是要校正變形,則r/g/b三個色頻的條件設定參數都一樣; 若同時校正色偏,則要分別針對r/g/b三個色頻設定不同的參數。

以我個人而言,並沒有那麼講究,只要試到一個可接受的程度我就滿意了。
以下這張照片,雖然對焦距離和上一張燈塔並不相同,但我直接套用上述的參數,得到一個還算不錯的結果。
注意看後方的柱子,校正後是不是拉得比較直了?

校正前

校正後


關於這套工具的原理,有興趣的朋友還可參考下面這個網站:
http://wiki.panotools.org/Lens_correction_model
張貼留言