关于《一种鱼眼图象到透视投影图象的变换模型》

《一种鱼眼图象到透视投影图象的变换模型》与另一篇论文《一种基于椭圆抛物面透视投影约束的鱼眼镜头校正方法》其实算法差不多的。所以试着实现一个就好了,可是我不知道这篇论文算法的最后一步:确定目标图象的大小,求(uo,vo)对应的中心点(xo,yo),利用公式(1)求出目标图象。    这一步的z怎么确定,如果z确定不了,那怎么可能求出目标图象?


那个先想想,我也同时问了别人,等有结果了再补上:

这里先写算法的前几步吧 反正还是比较清晰的

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

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

接下来开始选择一条对应空间直线的鱼眼上的圆弧 我选的是右边这栋歪掉的大厦 在上面取9个点 因为论文中要6个未知参数嘛 用绿色的菱形表示出来  下图中

>> imshow(A)

>> hold on

>> [i1,j1]=ginput(1);

>> plot(i1,j1,'g.');

>> [i2,j2]=ginput(1);

>> plot(i2,j2,'g.');

>> [i3,j3]=ginput(1);

>> plot(i3,j3,'g.');

>> [i4,j4]=ginput(1);

>> plot(i4,j4,'g.');

>> [i5,j5]=ginput(1);

>> plot(i5,j5,'g.');

>> [i6,j6]=ginput(1);

>> plot(i6,j6,'g.');

>> [i7,j7]=ginput(1);

>> plot(i7,j7,'g.');

>> [i8,j8]=ginput(1);

>> plot(i8,j8,'g.');

>> [i9,j9]=ginput(1);

>> plot(i9,j9,'g.');

>> hold off;

DATA=[i1j1;i2 j2;i3 j3;i4 j4;i5 j5;i6 j6;i7 j7;i8 j8;i9 j9];

W=zeros(9,6);  

%每一行放的是A,B,C,D,E,F这6个所求参数的系数

for n=1:9

    i=DATA(n,1);

    j=DATA(n,2);

    W(n,1)=j^2;

    W(n,2)=2*i*j;

    W(n,3)=i^2;

    W(n,4)=j;

    W(n,5)=i;

    W(n,6)=1;

end

%因为是超定齐次线性方程组 9个方程6个未知数 用最小二乘解出来 对应最小特征值的特征向量就是所求的解

[V D]=eig(W'*W);

D

 

D =

 

 1.0e+010 *

 

   0.0000         0         0         0         0         0

         0   0.0000         0         0         0         0

         0         0   0.0000         0         0         0

         0         0         0   0.0001         0         0

         0         0         0         0   0.0554         0

         0         0         0         0         0   5.9756

 可是奇怪的是这里有三个都小 都是0  为什么?我取的是第二个

>> V

 

V =

 

  -0.0000    0.0009    0.0052   0.8840   -0.4344    0.1724

   0.0000    0.0013   -0.0031  -0.4239   -0.5898    0.6874

  -0.0000    0.0004    0.0060   0.1969    0.6807    0.7055

  -0.0024   -0.9997   -0.0254   0.0005   -0.0009    0.0014

   0.0097    0.0254   -0.9996   0.0071    0.0037    0.0029

  -0.9999    0.0026  -0.0097    0.0001    0.0000   0.0000

 我取了第二个特征向量作为解

>> A=9;

>> B=13;

>> C=4;

>> D=9997;

>> E=254;

>> F=26;

按照论文公式求光学中心和长半轴

>> uo=(C*D-B*E)/2/(B^2-A*C);

vo=(A*E-B*D)/2/(B^2-A*C);

R=sqrt(((C*D^2-2*B*D*E+A*E^2)/4/(B^2-A*C)+F)*((A+C+sqrt((A-C)^2+4*B^2))/2/(B^2-A*C)));



光学中心的结果 和长半轴的结果:




如果上面没错  接下来就是论文最后一步 可是那个z怎么确定呢?

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

元气少女缘结神

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值