![](https://csdnimg.cn/release/download_crawler_static/89350547/bg1.jpg)
【图像识别】基于计算机视觉实现自动报靶系统(重弹孔)
含Matlab源码
1 简介
第一步:靶图像预处理
通过采集系统我们得到射击后的靶图像,即:模拟图像。还必须将模拟图像转化为数字图像,然后进行
一系列的图像预处理,图像预处理是进行的各种图像校正、图像滤波除噪声等处理环节。
报靶系统采用的图像格式这里为JPG格式,之后转化成灰度图象。
(1)图像滤波,初步消除噪声
本系统采用二维中值滤波,中值滤波的主要功能就是让与周围像素灰度值的差比较大的像素改取与周围
像素接近的值,从而可以消除孤立的噪声点,由于不是简单的取均值,产生的模糊比较少。中值滤波对
于消除孤立点和线段的干扰将十分有用。
(2)图像减影,初步把弹孔分割
将前后捕获到的两幅靶图像对应坐标的像素灰度值相减,得到的各点灰度差值组成新的结果图像。两个
原图像中的所有相同背景由于灰度值相同,相减结果为0,在这个结果图像里面就是统一的暗区域。而结
果图像中的亮区域是射击在后靶图像上造成的新弹点和前靶图像上没有弹点的对应区域灰度值相减形成
的。这个亮区域就是我们要提取的对象物,它代表一个新的弹点。减影处理还有一个好处是:排除掉了新
的靶图像中那些原先已经存在的旧弹点对弹点识别的干扰。
(3) 靶图像二值化,完成弹孔的分割与检测
选取一个合适的阈值进行二值化,来将弹点分割出来,使图像二值化后能较完整地保持弹点的几何形
状,以便能将对弹点的识别精度提到最高
(4)弹孔的噪声滤除
这一步操作是为了消除弹孔周围的裂缝,同时减影操作也会对弹孔增加一些噪声点,如果不加处理直接
进行弹点坐标提取则可能会误判(丢失或增加)一些弹点象素,使判靶精度受到影响。为保证获得完整准确
的弹点图像还必须对减影图进一步除噪处理。方法是用数学形态学中的腐蚀、膨胀算法。
先用闭合操作,填平轮廓的缺口,即对二值化后的图像进行膨胀操作后再用腐蚀复原。再开操作,也可
去除轮廓上突出的毛刺,即对二值化后的图像进行腐蚀操作后再用膨胀复原。
(5)图像目标矫正。
经过上述的操作,我们得到的靶图像是存在畸变的,减影后二值化的图像的畸变还
没有恢复,为了准确提取弹孔坐标,必须对其进行校正。
射击过程中靶图像出现几何失真的类型主要为:倾斜投影畸变。用来采集靶图像的摄像头所处的位置使
摄像头不可能和靶平面保持绝对垂直的投影关系,摄像头以一定的倾斜角度拍摄到的靶图像就会不可避
免的出现畸变。
一般用坐标变换的几何矫正方法。二次影射变换式来进行几何校正。该式如下: