2014-01-26 204 views
0

我有一堆以不同比例和尺寸拍攝的圖像,每個圖像都手動標註了一定數量的面部標誌。註釋過程返回一個矩陣,該矩陣與圖像的全局參考框架相關的座標爲(x,y)計算新參考座標系中圖像像素的座標

爲了我的項目,我需要將所有圖像標準化爲獨特的標準尺寸(特別是960 x 1080像素)並對它們進行一些處理。

我的問題是:

  • 考慮到我知道新舊和圖像的尺寸,藉助於該方程式TRANSLATIONROTATIONSCALE將參照幀與座標(x1_1,y1_1)的像素1是映射到參考幀2的像素(x2_1,y2_1)

下面的圖片應該有助於澄清我想要做的事:

enter image description here

你可以看到2個版本相同的圖像(原800 x 978和期望的一個960 x 1080)和感興趣的地標的位置。假設我知道右側圖中所有地標的座標,我如何獲得左側圖的等效座標? (請注意,y軸的怪異位置是由於MATLAB如何把參考幀)

增加的部分:

:所述圖像是通過使用matlab'simresize()功能如下縮放

特別

B = imresize(A, [1080 960]) 

如何在這種情況下計算比例因子?

回答

2

sc = s*cos(theta),和ss = s*sin(theta)其中s是縮放因子,並且theta是旋轉角度 然後,對於逆問題,該變換矩陣是

 Tinv = [sc -ss 0; 
       ss sc 0; 
       tx ty 1] 

其中txty是沿x和y平移軸,分別。

R2013b中的圖像處理工具箱包括more details以及相應的匹配功能供您參考。

編輯在imresize'Scale'選項增加的部分

,如果指定一個矢量,分別imresize使用的各個值作爲比例因子的行和列的尺寸。因此,行和列的比例因子是1080/800960/978

+0

我明白。感謝您的回答。但是,我將如何得到'theta''''和'tx,ty'的值? – Matteo

+0

非常好的鏈接! – Matteo

+0

@Matteo謝謝Matteo。基本上你需要解決三個線性方程式,分別用你的已知座標來獲得旋轉,縮放和平移。 SO不支持數學表達式輸入,相反,我找到了一個您可能感興趣的網頁:http://www.cs.mtu.edu/~shene/COURSES/cs3621/NOTES/geometry/geo-tran。 html – lennon310