鱼眼图像畸变校正matlab,《基于双经度模型的鱼眼图像畸变校正方法》code

这篇博客介绍了如何使用双经度模型校正鱼眼图像畸变,主要分为五个步骤,包括求解光学中心和半径、坐标转换等。博主通过matlab代码展示了具体实现过程,并在实践中遇到的问题进行了探讨,如SVD分解选择最小奇异值的困惑以及校正效果不佳的情况。
摘要由CSDN通过智能技术生成

网友说现在用得多的是双经度法来校正鱼眼图像,理论部分来自题目说的这个期刊论文。

主要分5步:

1,和期刊论文《一种鱼眼图象到透视投影图象的变换模型》中一样求光学中心和真实半径。。。循环三次求平均值得到鱼眼图像的中心和半径

2,目标图像坐标转为双经度坐标

3,双经度坐标转为球面坐标

4,球面坐标转鱼眼图像坐标

5,双线性插值

其中第4步,有两种投影方式:正交投影和等距投影

第1步:

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

%  对于齐次线性方程 A*X =0;当A的秩大于列数时,就需要求解最小二乘解  使用SVD分解矩阵A,[U S V] = svd(A); U 由 A*A'的特征向量组成,V 由

%A'*A的特征向量组成,因此,奇异值矩阵S中最小的奇异值对应的V中的奇异向量即为最小二乘解。

function result=doublejingdu(A)

A=imread('F:\fisheye\14.JPG');

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

[width,height,kk]=size(A);

%xo=R;

%yo=R;

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

imshow(A)

hold on;

[x1 y1]=ginput(1);

plot(x1,y1,'g.');

drawnow;

[x2 y2]=ginput(1);

plot(x2,y2,'g.');

drawnow;

[x3 y3]=ginput(1);

plot(x3,y3,'g.');

drawnow;

[x4 y4]=ginput(1);

plot(x4,y4,'g.');

drawnow;

[x5 y5]=ginput(1);

plot(x5,y5,'g.');

drawnow;

[x6 y6]=ginput(1);

plot(x6,y6,'g.');

drawnow;

[x7 y7]=ginput(1);

plot(x7,y7,'g.');

drawnow;

hold off;

%[x8 y8]=ginput(1);

%plot(x8,y8,'g.');

%drawnow;

%[x9 y9]=ginput(1);

%plot(x9,y9,'g.');

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值