软件功能概述
1、通过简单的数据输入可以计算出摄像机和靶纸安装位置关系,进而为选择相机提供可靠的参考。
2、基于图像处理的自动报靶系统方法。
图像预处理:
计算机对接收到的相机捕捉图像预处理包括图像的几何校正,消除因斜向拍摄产生的竖直方向的压缩与相机的镜头模型带来的图像畸变如径向失真;基于阈值的图像分割方法进行靶环有效区域提取,将连通的靶环区域与非靶环区域分离,达到剔除背景的效果;图像增强,对图像进行滤波消除噪声,便于后续处理图像时得到较准确的结果。
处理过程:
将预处理的射击前后两帧图像进行剪影处理,粗略提取弹孔图像,并使用数学形态学的开运算进行膨胀与腐蚀处理,得到精确地弹孔图像。然后进行边缘检测,计算出弹孔中心位置。最后根据弹孔与靶环中心点的间距进行环值判断,并将结果输送到交互界面。
3、结果输出:
结果输出为靶环数和靶心坐标位置。靶环数实时输出给可视化界面处理端,实现靶环的自动报靶显示。同时,靶心坐标与模版对比,实时显示在靶纸上的具体位置。可提供打靶参与者与围观人员直观视觉感受,极大减少了靶场的人力和时间成本。
硬件配置要求:CPU为树莓派3b+及CPU功能优于此的开发板、内存为1G及以上、硬盘容量为16G或以上;
硬盘软件要求:操作系统为Linux;选目前主流的Ubuntu 16.04;
软件以C语言程序为运算基础,利用C++调用Opencv视觉处理库进行图像处理。开发基于MFC的可视化摄像机选型软件,包括靶纸与摄像机安装关系计算。同时,留有定期更新的可能来扩充不同靶纸的更换。具体的靶纸规格由靶场来定,本平台以最为常见的胸环靶介绍为例。
软件初始化
本算法通过接收枪响触发摄像机进行图片拍摄,进而完成算法的初始化。
软件主界面
(1)摄像机选型软件
(2)自动报靶结果显示
软件终止
当图像处理结束后,得到靶纸中心坐标位置和靶环数,进而通过以太网传给报靶系统可视化处理端,算法结束。
系统用户的操作权限,由系统管理员设定,各功能模块的操作说明如下:
自定义靶高焦距等,得出摄像机和靶纸安装位置关系;
反之,由安装位置关系,得出象元尺寸和镜头分辨率,指导相机选型。
摄像机和靶纸安装位置如下:
相机选型如下:
图像抓拍模块
本模块主要图像抓拍系统接收枪声信号后,进行靶纸图像拍摄。
色彩转换模块主要是对图片做色彩空间转换,将RGB图转换成HSV图,为后续色彩分割与边缘提取奠定基础。
边缘提取模块主要是继承色彩转换后的下一步必须工作,从背景图中提取出我们所需靶纸的边缘信息。
图像矫正模块是继上述模块后对靶纸进行几何校正,是完成剪影模块必须的前提。
剪影模块从边缘提取后继续提取打靶前后对比差异后的弹孔,把我们所需的弹孔边缘提取后,进行前后靶纸剪影,用此弹孔边缘计算出弹孔位置坐标及靶环数。
报靶输出模块得出最后我们计算的靶心位置坐标和靶环数,通过以太网传输给可视化处理端。
博主:菜鸟程序员
初衷:学习资料,程序设计,图像处理,视觉算法,求职经验,工作心得