OpenCV中文网站

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 安装 配置
查看: 5287|回复: 10

对OpenCV畸变矫正的改进

[复制链接]
发表于 2012-11-11 17:16:40 | 显示全部楼层 |阅读模式
OpenCV的畸变矫正存在一些问题,在较大视场矫正桶形畸变时会丢失一部分边缘的视场。本人对OpenCV的摄像机标定模块中的畸变矫正部分做了改进,可以在矫正畸变时保留几乎全部的视场,并在其他几个方面做了改进。

视场较大的镜头一般都存在较大的畸变。在用OpenCV中的摄像机标定模块(CVCALIBRATE)中的畸变矫正(UNDISTORT)子模块对桶形畸变图像作矫正时,由于图像的局部远离畸变中心的部分被放大,会损失边缘的视场,即矫正前靠近图像边缘的内容在矫正后会消失。畸变程度越大的图像矫正后损失的就越多。本人对OpenCV的畸变矫正模块做了修改,可以在矫正过程中保留视场。并基于OpenCV重写畸变矫正的几个相关函数,并可用于YUV图像。

改进后,除可以正确矫正畸变图像,实现所有原有功能外,与OpenCV原有的代码相比有以下特点:

1. 矫正后视场几乎可以全部保留,从畸变中心起,矫正后在宽高两个方向的可保留矫正前的视场大小。
2. 清晰度较改进前不损失(通过拍摄分辨率测试卡测试)。
3. 矫正后视场大小可调,通过调整函数入口的一个参数调节。可以放大也可以缩小,缩小时最多可包含矫正前图像全部内容。放大不限。
4. 矫正程度可调,通过调整函数入口的一个参数调节。对于某些特定场景,如视频会议或者摄影,人们已经适应广角镜头存在一定程度的畸变,如果将图像完全矫正则可能会给用户带来不适应,因此加入一个矫正程度参数供使用者调节。使用者可以根据使用场景选择矫正程度,既在一定程度上矫正了畸变,又不会给用户带来不适。
5. 可以在YUV格式图像上直接矫正(OpenCV只能对RGB和灰度图直接矫正),已测试YUV420/422.
6. 与改进前相比计算复杂度没有增加。
7. 在函数内部变量全部用整数表示,便于逻辑实现。
本人基本上重写了畸变矫正模块的代码,相对OpenCV原有代码功能大为增强。为了实现该算法采集数百张图片,并对一些参数做了大量优化工作,可在不影响效果的条件下极大减小了内存开销。

曾用一款镜头,广角端最大水平视场视场93度,用OpenCV矫正后剩下85度,改进后算法矫正后仍是93度。 所拍摄的图片都在公司,由于信息安全问题不能带出,在这里就看不到效果了。
回复

使用道具 举报

 楼主| 发表于 2012-11-15 07:45:41 | 显示全部楼层

对OpenCV畸变矫正的改进

畸变矫正比较简单,难的是摄像机标定。
回复 支持 反对

使用道具 举报

发表于 2012-11-24 22:53:58 | 显示全部楼层

对OpenCV畸变矫正的改进

请问楼主是怎么解决的呢,有没有可用的代码,发我学习下嘛,谢谢啦!hulianyu86@126.com
回复 支持 反对

使用道具 举报

发表于 2013-1-28 15:10:51 | 显示全部楼层

对OpenCV畸变矫正的改进

你发这帖子就为了显摆一下?
回复 支持 反对

使用道具 举报

发表于 2013-5-28 09:50:58 | 显示全部楼层

对OpenCV畸变矫正的改进

正好遇到这个问题了,楼主可不可以发个代码给我参考一下啊?谢谢。notwrong@126.com
回复 支持 反对

使用道具 举报

发表于 2013-7-14 10:38:50 | 显示全部楼层

对OpenCV畸变矫正的改进

我现在正好遇到矫正鱼眼摄像头,但是校正后的视场损失过多的问题。求指导。
回复 支持 反对

使用道具 举报

发表于 2017-9-13 21:46:37 | 显示全部楼层
代码呢,好期待啊。。。
回复 支持 反对

使用道具 举报

发表于 2017-9-19 15:12:38 | 显示全部楼层
利用标定获取的内参矩阵和畸变参数,自己写段校正代码就好了
很简单的
代码流程是这样的:
目标图(u,v)->(xc,yc->r->atan(r)->r'=r(1+k1*r^2+k2*r^5+..)->(xc',yc')->(fx*xc'+u0,fy*yc+v0)
回复 支持 反对

使用道具 举报

发表于 2017-9-19 15:15:00 | 显示全部楼层
要增加校正后的市场很简单:
(u,v)->(xc,yc)->r->atan(r/k)->r'
改变k的值就可以改变校正图的视场角
回复 支持 反对

使用道具 举报

发表于 2017-9-26 18:29:52 | 显示全部楼层
刚入门的小鸟,该怎样子学习才会少走些弯路呢
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|OpenCV中文网站 ( 粤ICP备13079875号-2

GMT+8, 2017-11-20 12:13 , Processed in 0.055175 second(s), 17 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表