消除相机透镜畸变

一般的针孔相机模型如下:

三维坐标点经过透视投影变换,转换到一个图像平面坐标点。


而相机透镜还存在一定的畸变,包括横向畸变和切向畸变。

 

因此,针孔相机模型又被扩展为以下模型:


首先,世界坐标被转换为相机坐标,由X,Y,Z到x,y,z;

然后,归一化,z=1处,x,y的投影坐标x`,y`;

接下来,对投影坐标,进行畸变处理;

最后,由相机坐标转换到图像坐标。

 

在使用广角镜头或鱼眼相机时,原始图像存在畸变比较严重。

在图像识别的很多应用场景中,消除图像的畸变是图像预处理的首要问题。

通过相机标定,很容易拿到相机的内部参数,包括焦距、光心和畸变系数。


以上过程,就是透镜畸变前后图像坐标变换的公式。具体步骤如下:

1. 由图像坐标系反变换到相机坐标系中

2.  然后,校正反变换R-1,一般无校正变换的相机,默认为单位矩阵

3. 归一化,并进行相机透镜畸变处理

4. 由相机坐标转换到图像坐标。

由此,得到由针孔模型到透镜畸变畸变模型相互变换的对应关系u <--> mapx, v <--> mapy

initUndistortRectifyMap函数就是完成了以上工作。

 opencv中,remap与undistortion都是消除畸变的函数,undistortion在设置了一些参数后调用了remap函数,二者的算法实质是一样的。由目标图像的坐标,找到对应的原始图像坐标,然后将其值复制到目标图像。大致思路是如此,由于图像大小和变换,需要插值或近似的方法,如最邻近法、线性插值等

转自:

http://blog.csdn.net/viewcode/article/details/7967253

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值