本发明涉及图像识别技术领域,更具体的涉及一种靶子环数的图像识别方法。

背景技术:

传统的靶子环数识别主要依靠人工实现,存在精确度不高、安全隐患比较大以及人力资源分配不足问题。现在市场上一些关于靶子环数识别的产品普遍成本高、系统比较复杂,并且占用场地等一些缺陷。同时,当弹孔在两个环数的交界线上时,人眼会存在识别错误的情况。

当前基于图像处理技术的报靶系统研究,主要分为两个方面,一是自动报靶装置的研究,主要是将图像处理与图像采集、图像传输、嵌入式技术等相结合,形成自动报靶装置,其主要依赖于双层电极短路采样系统、声电定位自动报靶系统、光电电子靶系统等机械式测定系统,这类系统具有复杂的硬件结构,要求制定专用靶标且不可重复利用,成本高、适应性差;二是图像处理方法的研究,例如刘秋燕等在《基于视频图像分析的自动报靶方法研究》中采用霍夫变换检测靶心,分析差分图像确定弹孔位置;刘瑞香等在《面向纸质胸环靶的自动识别报靶系统研究》中采用灰度双向肖波投影确定靶心位置;陆祥翠等在《一种基于图像处理技术的自动报靶方案》中利用轮廓跟踪法进行环线识别。虽然基于图像处理技术的自动报靶系统已经取得了一定的成果,但是当前方法大多只是根据环线和弹孔的明亮来进行识别判断。郑晓势等在中国专利公开号cn2831033y《自动识别报靶装置》中认为射击过程中前后图像完全重叠,只采用简单的阈值法进行弹着点判断;就目前来说,弹丸中靶的坐标测量普遍都采用弹丸穿过实心靶留下弹痕,射击者使用望远镜或借助于闭环电视系统估算出每一弹丸的中靶坐标,但其不能对弹孔所在环数进行准确识别。

技术实现要素:

本发明实施例提供一种靶子环数的图像识别方法,用以解决上述背景技术中提出的对弹孔所在环数识别不准确的问题。

本发明实施例提供一种靶子环数的图像识别方法,包括:

获取靶盘各环区域的面积范围和靶盘的圆心坐标;

获取靶盘上弹孔的角点坐标,并通过kmeans聚类算法,获取靶盘上弹孔的质心坐标;

计算弹孔的角点坐标与质点坐标的距离,并计算弹孔的角点坐标与靶的圆心坐标的距离,获取距离质心最远和距离圆心最近的角点;

计算距离质心最远和距离圆心最近的角点所在圆的面积,记作角点面积,并计算弹孔质心所在圆的面积,记作质心面积;当角点面积、质点面积在所在环数的面积范围内时,确定靶子环数为角点面积、质点面积所属的环数;当角点面积、质点面积不在所在环数的面积范围内时,确定靶子环数为质心面积所属的环数加1。

进一步地,本发明实施例提供一种靶子环数的图像识别方法,还包括:对采集的图像进行阈值分割,对靶盘的环数进行分割;其中,所述对采集的图片进行图像阈值分割,具体包括:

将采集的图像转换为灰度图像;

对灰度图像,采用大津法进行阈值分割。

进一步地,所述获取靶盘各环区域的面积范围和靶盘的圆心坐标,具体包括:

采用opencv图像处理库中函数findcontours和drawcontours,提取和绘制靶盘各环区域;采用opencv图像处理库中函数contourarea(contours[i],计算靶盘各环区域的面积范围;采用opencv图像处理库中函数minenclosingcircle()得到靶盘的圆心坐标。

进一步地,所述获取靶盘上弹孔的角点坐标,并通过kmeans聚类算法,获取靶盘上弹孔的质心坐标,具体包括:

对每个弹孔做最小外接圆或最小外接矩形,并通过harris角点检测、归一化处理、图像增强处理,确定每个弹孔的区域边缘的多个角点坐标;

根据每个弹孔的多个角点坐标,通过进行kmeans聚类算法,确定每个弹孔的质心坐标;其中,kmeans聚类算法中的k值为对应弹孔最小外接圆或最小外接矩形的数量。

进一步地,所述harris角点检测,具体包括:

对角点响应函数r进行阈值处理,当r>threshold时,提取r的局部极大值。

进一步地,所述获取靶盘上弹孔的角点坐标,并通过kmeans聚类算法,获取靶盘上弹孔的质心坐标,具体包括:

对每个弹孔做最小外接圆或最小外接矩形,并通过凸包检测,确定每个弹孔的凸包点集;

根据每个弹孔的凸包点集,通过进行kmeans聚类算法,确定每个弹孔的质心坐标;其中,kmeans聚类算法中的k值为对应弹孔最小外接圆或最小外接矩形的数量。

本发明实施例提供一种靶子环数的图像识别方法,与现有技术相比,其有益效果如下:

本发明实施例中,首先对图像进行预处理消除其噪声,大津法进行阈值分割,轮廓提取与轮廓面积计算,获得靶盘圆心坐标,对弹孔做最小外接圆并计算最小外接圆的数量,对弹孔区域进行harris角点检测,进行图像归一化和图像增强,获得每个弹孔的角点坐标并进行kmeans算法(k的取值等于最小外接圆的数量),计算每个弹孔的质心坐标,确定质心所在面积范围,和通过计算距离质心最远和距离圆心最近的角点所在面积范围,对靶子环数进行了准确地识别,并且当弹孔在两个环数的交界线上时,可以计算出弹孔的质心坐标具体偏向哪个环数区域,最终对弹孔所在环数进行了准确地识别,实现自动报靶,其具有低成本、长寿命,实用性强,发展前景大等特点。

附图说明

图1为本发明实施例提供的一种靶子环数的图像识别方法流程示意图;

图2为本发明实施例提供的大津法图像阈值分割示意图;

图3为本发明实施例提供的靶盘环数分割示意图;

图4为本发明实施例提供的靶盘各环区域划分示意图;

图5.1为本发明实施例提供的靶盘圆心坐标示意图;

图5.2为本发明实施例提供的弹孔角点坐标示意图;

图5.3为本发明实施例提供的环线上弹孔示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

参见图1,本发明实施例提供一种靶子环数的图像识别方法,该方法包括:

步骤1:获取靶盘各环区域的面积范围和靶盘的圆心坐标。

步骤2:获取靶盘上弹孔的角点坐标,并通过kmeans聚类算法,获取靶盘上弹孔的质心坐标。

步骤3:计算弹孔的角点坐标与质点坐标的距离,并计算弹孔的角点坐标与靶的圆心坐标的距离,获取距离质心最远和距离圆心最近的角点。

步骤4:计算距离质心最远和距离圆心最近的角点所在圆的面积,记作角点面积,并计算弹孔质心所在圆的面积,记作质心面积;当角点面积、质点面积在所在环数的面积范围内时,确定靶子环数为角点面积、质点面积所属的环数;当角点面积、质点面积不在所在环数的面积范围内时,确定靶子环数为质心面积所属的环数加1。

上述技术方案,通过计算距离质心最远和距离圆心最近的角点所在面积范围、和弹孔质心所在面积范围,对靶子环数进行了准确地识别,并且当弹孔在两个环数的交界线上时,可以计算出弹孔的质心坐标具体偏向哪个环数区域,最终对弹孔所在环数进行了准确地识别,实现自动报靶,其具有低成本、长寿命,实用性强,发展前景大等特点。

在上述步骤1之前,还有一个步骤:即对相机采集的图片内容进行预处理,和对靶盘的环数进行分割。其中,所有的预处理包括:a.转为灰度图像。b.大津法图像阈值分割。参考图2~图3,该部分包括对采集到图片内容的灰度化、大津法进行图像阈值分割,对靶盘的环数进行准确的分割。

对于步骤1,参考图3~图4,提取和绘制靶盘各环区域(采用opencv图像处理库中函数findcontours和drawcontours来实现);计算靶盘各环区域的圆形面积范围(采用contourarea(contours[i])来实现);根据得到靶盘各环区域的圆形面积范围,为后续环数识别做铺垫。参考图5.1通过外接最小圆minenclosingcircle()得到靶盘的圆心坐标,外接圆的数量是后续kmeans聚类算法中k的值。

对于步骤2,对每个弹孔做最小外接圆或最小外接矩形,然后进行harris角点检测,就是对角点响应函数r进行阈值处理:r>threshold,即提取r的局部极大值;再对图像进行归一化处理,把需要处理的数据经过处理后限制在(0,1)内;再进行图像增强,遍历全图,参考图5.2每个弹孔的区域边缘有很多的角点,获取每个弹孔的多个角点坐标进行kmeans聚类算法求得每个弹孔的质心坐标。

需要说明的是,本发明实施例中在进行kmeans聚类算法k的取值时,利用外接圆形的数量得到的,还可以以最小外接矩形计算最小外接矩形的数量得到k的取值。本发明实施例中在进行弹孔质心的定位时,还可以用凸包检测替代角点检测,在进行凸包检测完毕后得到每个弹孔的凸包点集,再进行kmeans聚类算法定位弹孔的质心。

举例说明,参考图5.2,以弹孔1为例,获取弹孔1的4个角点坐标a、b、c、d,进行kmeans聚类算法求得其质心坐标。

对于步骤3和步骤4,通过多分支选择if语句进行环数识别:

根据每个弹孔的质心坐标,然后计算这个弹孔的角点坐标与质点坐标的距离,再计算这个弹孔的角点坐标与靶的圆心坐标的距离,求出满足条件的角点,即在这个弹孔上寻找一个距离质心最远和距离圆心最近的角点。

求距离质心最远和距离圆心最近的角点所在圆的面积,求弹孔质心所在圆的面积,比较这两个圆面积在哪个环数的面积范围内,即判断环数是否相同。

如果两个圆面积所在环数的面积范围相同,那就是弹孔在环线之间,不在环线上(如图5.2的弹孔1),直接输出该环数。

如果两个面积所在环数的面积范围不相同,那就是弹孔在环线上(如图5.3的弹孔3),质心面积所属的环数+1。

需要说明的是,弹孔在环线上,假设角点a到质心距离和角点d到质心距离相同,二者都为距离质心最远的角点。有距离最远的角点a在内侧,还有距离最远的角点d在外侧,那么需要取内侧的角点a,判断环数。因此除了判断“距离质心最远的角点”,还要判断“距离圆心最近的角点”。

举例说明,参见图5.3,弹孔3在8环外环上,角点a和角点d距离弹孔1的质心最远(最边缘的角点),且角点a距离靶的圆心最近(射击规则取最接近圆心的点,即最大环数),那么应该取点a的环数,就是8环。

以上公开的仅为本发明的几个具体实施例,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

靶子环数图片_一种靶子环数的图像识别方法与流程相关推荐

  1. 火焰识别python_一种基于人工智能的火焰图像识别方法与流程

    技术领域 本发明涉及消防技术领域,具体来说,涉及一种基于人工智能的火焰图像识别方法. 背景技术: 目前,随着社会科技的不断发展,人工智能系统是一种能模拟生物脑神经元在大脑中的真实链接,并对外来信号有自 ...

  2. dq坐标系下无功功率表达式_一种单相脉冲整流器电网电压估算方法与流程

    本发明涉及电力电子技术领域,具体为一种单相脉冲整流器电网电压估算方法. 背景技术: 单相脉冲整流器以其网侧功率因数高.电流谐波小.可实现能量可双向流动等优点,已广泛应用于新能源发电.不间断电源及铁路机 ...

  3. uvm 形式验证_一种基于UVM的总线验证方法与流程

    本发明涉及芯片设计的功能验证领域,尤其是一种基于UVM的总线验证方法. 背景技术: 随着集成电路工艺的不断进步,集成电路的规模和复杂度也在不断地提高,验证的难度也越来越大.在集成电路设计中,验证工作已 ...

  4. 小优机器人系统恢复_一种机器人异常恢复系统及方法与流程

    本发明涉及异常恢复系统及方法,尤其涉及一种机器人异常恢复系统及方法. 背景技术: 目前,一些家庭拥有机器人,机器人对人类的生活有很大的影响,它给了人们更加智能化舒适化的享受:但是,当机器人在运行某些应 ...

  5. python贺卡编程_一种卡片编程机及其编程方法与流程

    本发明涉及编程领域,特别涉及一种卡片编程机及其编程方法. 背景技术: 人工智能日趋火热,家长们也逐渐意识到孩子的培养方向,编程教育不仅为孩子的将来提前打下基础,而且还能够培养孩子的逻辑思维能力,优化孩 ...

  6. lds天线技术流程图_一种LDS天线结构及其制作方法与流程

    本发明涉及LDS天线技术领域,尤其涉及一种LDS天线结构及其制作方法. 背景技术: 目前,在LDS天线的制作中,通常首先是将LDS材料注塑成型为支架后,再进行化镀,然后再将电子元器件通过SMT的方式组 ...

  7. 齿轮箱数据集_一种旋转机械齿轮箱故障数据集优化方法与流程

    本发明涉及一种旋转机械齿轮箱故障数据集优化方法,具体涉及一种基于遗传算法与支持向量机的旋转机械齿轮箱故障数据集优化方法. 背景技术: 齿轮箱是重要工程领域(如:石化产业.航天.机械制造等)的关键设备之 ...

  8. 工业机器人三点工具定位法图文_一种工业机器人的抓取定位方法与流程

    本发明涉及工业机器人技术领域,特别是涉及一种工业机器人的抓取定位方法. 背景技术: 机器人视觉主要用计算机来模拟人的视觉功能,并不仅仅是人眼的简单延伸,更重要的是具有人脑的一部分功能.从客观事物的图像 ...

  9. 条纹噪声图片_一种红外图像条纹噪声滤波方法与流程

    本发明属于红外图像处理技术领域,具体涉及一种红外图像条纹噪声滤波方法. 背景技术: 红外焦平面成像系统是红外成像技术发展的方向,是红外成像系统的核心器件.红外焦平面成像装置,如热像仪,通常会受到各种各 ...

  10. html webservice数据交互_一种基于WebService的数据交换方法

    一种基于WebService的数据交换方法 [专利摘要]本发明涉及数据交换[技术领域],特别涉及一种基于WebService的数据交换方法.本发明是以Web服务为依托,通过定义参数的方式进行传入内容和 ...

最新文章

  1. 青源Forum | 人工智能的数理基础前沿系列报告 · 第 3 期
  2. sudo apt-get update E: Some index files failed to download. They have been ignored, or old ones use
  3. 设计模式之行为类模式PK
  4. php post 微信沙箱,微信支付平台错误:获取沙箱密钥失败,确保交易密钥是
  5. pb dw graph增加series_如何快速增加tiktok视频的播放量
  6. 首都师范大学数学专业考研试题参考解答
  7. openv学习—Template Matching
  8. 『STATISTICS』傻瓜弄懂t检验
  9. MII/MDIO接口详解
  10. 3.EVE-NG导入Dynamips和IOL
  11. 14款形态各异的超时尚HTML5时钟动画
  12. 自称很菜的二本大龄程序员居然拿到百度offer(百度面经)
  13. Python Flask Web教程006:Flask HTTP方法
  14. matlab多项式及其运算
  15. inherit.js
  16. Selenium2学习笔记
  17. 政府采购:国产软件发展的第一推动力
  18. 5000词学英语——DAY8
  19. 和ts一般怎么玩_TS夺冠后马上卖席位?微博电竞和其互关,以后热搜不愁了
  20. 输入两个字符串,从第一字符串中删除第二个字符串中所有的字符。例如,输入”They are students.”和”aeiou”,则删除之后的第一个字符串变成”Thy r stdnts.”

热门文章

  1. MongoDB 语法大全
  2. html5页面设计技术,H5页面设计技巧有哪些?-鱼爪网
  3. linux嗅探网站结构,Linux下的Dsniff嗅探浅析
  4. 40.用创业思维复盘:写技术博客到出书
  5. 实现一个简单的Database1
  6. hadoop、hive搭建
  7. 7.计算机网络的发展 计算机网络发展背景 原因 阿帕网与计算机网络 通信方式 电路 报文 分组 包 交换 卡恩 瑟夫 网络控制协议 NCP TCP ip诞生发展 tcp 协议族 应用编程接口
  8. 如何设计一个小而美的秒杀系统(抢红包)?
  9. 教师资格考试科目二 word Exele ppt 应用
  10. conda 克隆环境