1

上位机图像处理和嵌入式模块部署(qmacvisual畸变矫正)

 1 month ago
source link: https://blog.csdn.net/feixiaoxing/article/details/136813008
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】

        大部分同学在开始做计算机图像的时候,是没有意识到畸变矫正这个问题的。当然不仅仅是畸变矫正,很多同学还会忽略光源的问题。他们自然地以为,摄像头拍出来的图像就应该是这样的。但事实上并非如此,好的图像需要光源的配合,而且很多摄像头拍摄出来的图像也是不能直接使用的,比如大家在汽车上面看到的鱼眼镜头,这些图像都是不能直接使用的,需要用标定板进行标定之后才能使用的。

        正好qmacvisual软件提供了软件标定的功能,我们也来学习一下。

1、标定需要做哪些

        要做好摄像头的标定,那么就需要一个标定板。在摄像头之前的各个角落和只能够中间,依次放置,这样就拿到了基本的标定图片。基于这些图片就可以对camera进行标定了。当然,这个标定板上面一般都会有棋盘格信息或者是有斑点的图案,这些都是已知的条件。并且,这些标定板上面的图案都是横平竖直的。这就意味着,如果图像上的棋盘格或者是斑点被识别之后,但是中间的连线发生了明显的弯曲,这就是说,我们可以用标定板对camera进行标定处理了。

2、标定板长什么样

        标定板一般是棋盘格,或者是斑点,今天用到的图片都是基于斑点的,

cabf86ff326d48bdbc21064cfa21d61f.png

3、利用qmacvisual对图像进行标定处理

        本身qmacvisual软件已经支持对camera进行标定处理。获得标定参数之后,后续使用的每个图片,都可以先畸变矫正,然后再进行后续算法的处理。当然,标定之前,需要先创建一个工程,然后创建一个流程,这都是少不了的。接着开始标定,标定的插件位于树形控件里面的【标定工具】-》【畸变标定】。双击之后,界面应该是这样的,

0f40e5bddfb14bbbbc63e4bc41dd5d71.png

        这里面有一些参数需要设置。文件夹路径就是采集的标定图片。剩下来的就是圆最小面积和圆最大面积设定。这两个参数设置非常重要,可以搭配Block参数按钮一起使用,确保算法可以认识到图片中的49个黑点。最后就是配置标定结果文件的保存路径位置。全部设置后,应该是这样的,

588c64056a4c479db4129fc54609c4ad.png

        这个时候如果不是很放心,可以依次单击Blob参数按钮,确保算法识别所有的黑点信息,相关输出可以在另外一个tab里面看到。不出意外的话,单击一次,你可以看到这样的效果,

c78f9590374d4f1fa952d270ee2a89a3.png

        输出信息提示我们找到了49个黑点,并且每个黑点还标注了颜色。如果所有的图片都没有问题,直接单击执行按钮,就可以开始标定的过程了。标定结束了,相关的标定文件就写好了。截图是这样的,

ddceffb07c184c95b2b2f45122605dc2.png

        在tab2的输出显示当中,可以看到更多的信息,效果如下图所示。当然最重要的还是par_calib.xml文件。

3e8c5ccfafd94e1a97088214d071d7e0.png

        另外一个图像校正的按钮,则可以让我们一张一张地去看图像校正的效果,比如这一张,

b3d622c58dba492abf7ab1d511d9b14a.png

        相比较原来的图片,有一个明显的地方,算法做了矫正。比如左上角的时间信息,之前肯定不是这个样子的,也说明标定确实起了效果。在现实生活中,标定的方法很多。用matlab工具来进行图像标定也是不错的一个选择。

4、如何使用标定文件

        有了标定文件,后续读取图片的时候,如何利用这些标定的参数对图像进行标定呢?其实相关的设置一直都在,只是我们自己没有去进行配置而已。大家打开【获取图像】的tab2页面,选择刚才生成的par_calib.xml文件就可以了,

3c5b066235074c659c15556623c2220b.png

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK