QUARC使用技巧——图像采集与处理
+ 查看更多
作者:姜严
在前两篇文章中,我们向大家介绍了QUARC的HIL Initialize模块以及通信协议相关的功能,这次我将继续向大家分享QUARC的一个独特的功能——图像的采集与处理。
首先QUARC在Matlab/Simulink环境中支持对多种摄像头的数据读取,比如微软的Kinect摄像头、RealSense摄像头,还有罗技的多种型号摄像头。根据摄像头的种类,我们在软件中将其定义为2D摄像头和3D摄像头。2D摄像头就是普通的彩色摄像头,而3D摄像头则是包含了彩色、深度、红外等多种图像数据的摄像头。
对于2D摄像头,我们在QUARC中添加了VideoCapture模块用来采集它的数据。对于3D摄像头,则是由两个模块——Video3DInitialize和Video3DCapture来进行图像读取。
Video Capture模块可以规定摄像头采集的图像的分辨率,数据格式和数据类型。而Video3DCapture则是除了上述设置以外,在同一个VideoInitialize的标记下,可以更改其获取的图像种类,比如彩色图像、深度图像等。
那么针对读取到的图像,以彩色图像为例,其数据格式一般为MATLABRGB(H*W*3),其得到的图像实际上就是一个三维矩阵,H*W对应的是基于分辨率的像素,3则是每个像素点中的RGB值。那么基于其数据格式,我们就可以编写程序直接处理所获取的图像。同时,我们也提供了大量的预设好的模块,帮助用户快速处理图像。比如Image Transform,可以将转换图像的格式,比如将RGB转换为HSV,可以提高图像的处理速度;还有Image Compare,这个模块是根据您输入的RGB值范围或HSV值范围,过滤出符合这一范围的颜色,实现对指定目标的过滤,配合Image Find Objects模块即可获取指定目标在图像中的位置。
利用QUARC提供的图像采集及处理的功能,可以极大的扩展原本控制实验的控制难度与广度,同时也支持用户进行神经网络、模式识别等现代控制相关的实验。我们欢迎用户使用我们的软件我们的产品,进行更加丰富的领域的研究。
分享到: