在图像变换中用最小二乘法求解仿射变换参数
生活随笔
收集整理的這篇文章主要介紹了
在图像变换中用最小二乘法求解仿射变换参数
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
設原圖像為f(x,y),畸變后的圖像為F(X',Y'),要將F(X',Y')恢復為f(x,y),就是要找到(X',Y')坐標與(x,y)坐標的轉換關系,這個轉換關系稱為坐標變換,表示為(x,y)=T(X',Y')。
景物在成像過程中產生的扭曲,會使圖像的比例失調,可用仿射變換來校正各種畸變。先計算出坐標變換的系數,仿射變換的表達式為:R(x)=Px+Q, x=(x,y)是像素的平面位置,P是2*2的旋轉矩陣,Q是2*1的平移向量,P、Q即為仿射變換參數,即:
?????????????????????????????? x= AX' + BY' + C
???????????????????????????????y= DX' + EY' + F
因此,幾何畸變的校正歸根結底為坐標轉換系數A,B,C,D,E,F的求解。
為了防止出現空像素,一般采用反向映射,由最小二乘法得:
vec1?= inv([X Y I]'*[X Y I])*[X Y I]'*U;
vec2?= inv([X Y I]'*[X Y I])*[X Y I]'*V;
其中vec1=[A?B C]';?vec2 =[D?E F]'; X Y U V I分別是x,y,X', Y', 1構成的向量。
?
另外,matlab中的cp2tform函數或者nlinfit函數也可以實現類似的功能。
?
總結
以上是生活随笔為你收集整理的在图像变换中用最小二乘法求解仿射变换参数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ordfilt2函数功能说明
- 下一篇: cvDrawContours:在图像上绘