您的位置:首页 > 其它

鱼眼图像校正算法(基于几何模型)(2D)

2015-07-22 20:20 363 查看
这是根据2013一个期刊上的小论文《基于几何成像模型的鱼眼镜头图像校正算法和技术研究》中的校正原理式(11)和式(12)编写的,其实这两个式子给出的是二维的校正方法,就跟之前的经度坐标校正差不多都是平面校正,所以我不知道这篇论文中给出式(6)干嘛?有什么用?还有这论文里说校正后的图像宽为w,高为h,这两个参数怎么确定呢?在没校正之前我怎么知道校正后的图像是怎样大小的?有谁知道吗,如果有,请告诉我。这里,根据这两个式子编程其实很简单,我令校正和畸变鱼眼图一样大小,即2Rx2R。

function C=jihemoxing(A,R)

%基于几何成像模型的鱼眼镜头图像校正算法和技术研究

w=2*R;

h=2*R;

xo=w/2;

yo=h/2;

f=2*R/pi;

for u=1:w

for v=1:h

ho=sqrt((u-xo)^2+(v-yo)^2);

h1=f*atan2(ho,f);

x=h1*(u-xo)/ho+xo;

y=h1*(v-yo)/ho+yo;

x=round(x);

y=round(y);

C(u,v,1)=A(x,y,1);

C(u,v,2)=A(x,y,2);

C(u,v,3)=A(x,y,3);

end

end

C=uint8(C);

这是M文件 其中A是鱼眼图,R是鱼眼图半径

实验结果如下:

A=imread('F:\orl_zhifangtu\s3.jpg');

[A,R]=kuaisusaomiao(A,40);

C=jihemoxing(A,R);

>> imshow(C)



而原畸变鱼眼图是这样的:



可以看到 用这篇论文的方法校正其实不怎么好 丢失了原图的信息 当然 这可能和我将校正后的图规定为2Rx2R有关 于是 我将M文件里的校正后的图的大小改大 改成了3Rx3R这样 重新试了下

A=imread('F:\orl_zhifangtu\s3.jpg');

[A,R]=kuaisusaomiao(A,40);

>> w=3*R;

>> h=3*R;

>> xo=w/2;

yo=h/2;

f=2*R/pi;

for u=1:w

for v=1:h

ho=sqrt((u-xo)^2+(v-yo)^2);

h1=f*atan2(ho,f);

x=h1*(u-xo)/ho+xo;

y=h1*(v-yo)/ho+yo;

x=round(x);

y=round(y);

if(x>2*R || y>2*R || x<1 || y<1)

continue;

end

C(u,v,1)=A(x,y,1);

C(u,v,2)=A(x,y,2);

C(u,v,3)=A(x,y,3);

end

end

C=uint8(C);

>> imshow(C)

结果:



所以应该不是改预设图像大小的问题 有谁知道那个wxh怎么确定的 告诉我啊

我比较了一下经度坐标校正的效果 经度坐标校正的效果如下:


这样一比较 很明显看到 这篇论文的校正效果不够好 和经度坐标校正比起来差了很多 都是尚未插值的比较的 明显看得出来 感觉是不是这个算法不好

还有一个期刊上发表的《鱼眼图像校正和配准算法研究》这上面的校正原理我觉得没交代清楚 而是直接给出了公式,从目标图像到鱼眼图像反向映射的公式(3)(4)(5),既然给出来了 那就按照这个直接写哦:

A=imread('F:\orl_zhifangtu\s3.jpg');

[A,R]=kuaisusaomiao(A,40);

[m,n,k]=size(A);

for i=1:m

for j=1:n

theta=i/R;

fi=j/R;

x=R*cos(fi)*sin(theta);

y=R*sin(fi);

z=R*cos(fi)*cos(theta);

u=R*cos(1/tan(y/x))/tan(sqrt(x^2+y^2)/z);

v=R*sin(1/tan(y/x))/tan(sqrt(x^2+y^2)/z);

u=round(u);

v=round(v);

if(u<1||v<1||u>m||v>n)

continue;

end

C(i,j,1)=A(u,v,1);

C(i,j,2)=A(u,v,2);

C(i,j,3)=A(u,v,3);

end

end

>> imshow(C)

结果原图和校正图如下:




这是什么东西 明明按照公式写的 很简单啊 是期刊上那三个公式错了 没原理??

我觉得我没写错 这个乱七八糟的图 是公式的原因吧
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: