在图像变换中用最小二乘法求解仿射变换参数

Posted xkiwnchwhd

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在图像变换中用最小二乘法求解仿射变换参数相关的知识,希望对你有一定的参考价值。

设原图像为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函数也可以实现类似的功能。

 

再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow



以上是关于在图像变换中用最小二乘法求解仿射变换参数的主要内容,如果未能解决你的问题,请参考以下文章

最小二乘法求线性回归方程

图像边缘检测基于最小二乘法的椭圆边缘检测matlab源码

一元线性最小二乘法正规方程组的求解过程

python仿射变换求乘法逆元扩展欧几里得

最小二乘法

《机器学习——数学公式推导合集》1. 最小二乘法(least square method)求解线性模型