之前根据一篇论文写过一次经度坐标校正,但那个原理推出的校正效果并不好,这篇是改进的,理论来源《一种不断重定位圆心的鱼眼图像校正方法》
可以和之前依据另一篇论文写的经度坐标校正对比 效果 因为那篇论文的个人觉得有问题。
function C=jingduzuobiaonew(A,R)
%This function is based on the primer jingduzuobiao.
[m,n,k]=size(A);
xo=m/2;
yo=n/2;
for i=1:m
for j=1:n
if(j==R)
continue;
end
if(i<R)
yoo=((xo-2*R)^2+R^2-j^2)/(2*(R-j));
Rnew=sqrt((xo-2*R)^2+(yoo-R)^2);
end
if(i>=R)
yoo=((xo-1)^2+R^2-j^2)/(2*(R-j));
Rnew=sqrt((xo-1)^2+(yoo-R)^2);
end
if(Rnew^2<(i-xo)^2)
Rnew=abs(i-xo);
end
y1=(j-yoo)*sqrt(Rnew^2-(i-xo)^2)/Rnew+yoo;
y1=round(y1);
if(y1>n)
y1=n;
end
C(i,j,1)=A(i,y1,1);
C(i,j,2)=A(i,y1,2);
C(i,j,3)=A(i,y1,3);
end
end
C=uint8(C);
其实《一种不断重定位圆心的鱼眼图像校正方法》里所说的这种模型只是对经线不断重定位 还可以对纬线这样不断重定位 那么纬线应该也可以拉很直 效果应该会更好些。