关于《一种鱼眼图象到透视投影图象的变换模型》
《一種魚眼圖象到透視投影圖象的變換模型》與另一篇論文《一種基于橢圓拋物面透視投影約束的魚眼鏡頭校正方法》其實(shí)算法差不多的。所以試著實(shí)現(xiàn)一個就好了,可是我不知道這篇論文算法的最后一步:確定目標(biāo)圖象的大小,求(uo,vo)對應(yīng)的中心點(diǎn)(xo,yo),利用公式(1)求出目標(biāo)圖象。 ? ?這一步的z怎么確定,如果z確定不了,那怎么可能求出目標(biāo)圖象?
那個先想想,我也同時問了別人,等有結(jié)果了再補(bǔ)上:
這里先寫算法的前幾步吧 反正還是比較清晰的
A=imread('F:\orl_zhifangtu\yuyan3.jpg');
>> [A,R]=kuaisusaomiao(A,40);
接下來開始選擇一條對應(yīng)空間直線的魚眼上的圓弧 我選的是右邊這棟歪掉的大廈 在上面取9個點(diǎn) 因?yàn)檎撐闹幸?個未知參數(shù)嘛 用綠色的菱形表示出來 ?下圖中
>> 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個所求參數(shù)的系數(shù)
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
%因?yàn)槭浅R次線性方程組 9個方程6個未知數(shù) 用最小二乘解出來 對應(yīng)最小特征值的特征向量就是所求的解
[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;
按照論文公式求光學(xué)中心和長半軸
>> 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)));
光學(xué)中心的結(jié)果 和長半軸的結(jié)果:
如果上面沒錯 ?接下來就是論文最后一步 可是那個z怎么確定呢?
總結(jié)
以上是生活随笔為你收集整理的关于《一种鱼眼图象到透视投影图象的变换模型》的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 25 年前 Java 诞生,把你对她的热
- 下一篇: unity能连jsp吗_使用JSPWik