智能相机相关的软件结构
新闻来源:http://www.jnzhongzhao.com/news/67.html 发布时间:2014-09-18
智能相机的软件结构软件部分包括系统软件框架和各个软件处理模块,中断服务程序等。DSP作为整个系统的主控制器,程序的执行和数据的处理都是由DSP来实现的。开始工作时,DSP进行芯片的设置,控制和配置所有的硬件和软件资源,相机的控制参数的传递。为了保证图像数据的实时处理,采用中断方式来传递图像数据,只要获得一帧图像数据,就会产生一次中断使DSP获得控制权对捕获的图像进行处理。系统初始化结束后,进行任务查询,根据查询结果进行相应得到任务处理(CMOS标定,自测试,图像数据处理),进入图像处理模块后,开始执行图像处理算法。对该相机性能测试的所有实验都是基于对钢珠的检测来实现的。
图像处理算法:
图像处理算法分为低级的处理算法与高级的处理算法:低级的处理算法完成产品是否存在缺陷的检测,高级算法完成对检测结果的分类。
低级检测算法包括图像预处理,二值化,图像相减,边缘检测等。具体算法的实现如下:
图像预处理:考虑到拍摄到的钢珠图像中的噪声大多是椒盐噪声和一些孤立的噪声点,并要克服图像平滑后的细节模糊,预处理采用了中值滤波器来对图像进行预处理,考虑到算法的执行速度,并没有采用常用的9点中值滤波算法,而采用了5点中值滤波,这样可以提高算法的执行速度。
二值化:二值化处理中阈值的选择极为重要,无论阈值选的过大或者过小,都易产生前景和背景的混淆,实验中采用了基本的全局门限法来自动的得到阈值T。
图像相减:DSP读取位于SRAM中经过滤波与二值化后的图像数据与存储在FLASH中的标准模板图像进行相减运算,如果结果在误差允许的范围之内,则说明产品无缺陷,可以不经过下一步的缺陷分析处理,这样能够提高检测的处理速度,如果产品是存在缺陷,就进行下一步处理,以判断产品的缺陷种类,此时就要对二值化图像进行进一步处理。
边缘检测:由于图像噪声的影响和钢珠缺陷的不同,二值化后的图像可能有一些小的孔洞和毛刺,这可以通过采用二值形态学来处理。通过先开运算去掉区域边界处的由里向外的毛刺,然后采用闭运算填充区域内的小孔和消除边界的缺口,然后通过边缘提取和边缘跟踪来获得图像的边界点。
高级检测算法:
高级检测算法是为了确定缺陷的类别而设计的,由于缺陷的种类和特征不同,我们应采用尽可能少的计算量来将缺陷鉴别出来。这涉及到对缺陷的特征进行抽取时特征向量的选择,图像经过预处理后可以提取一些相对比较稳定的特征作为识别缺陷的依据。
上一条: 机器视觉系统的研究意义
下一条: 智能相机发展的关键技术