常州机器视觉培训

常州上位机软件开发

常州工业机器人编程设计培训

常州PLC培训

常州PLC

常州PLC编程培训

常州电工培训

常州和讯plc培训中心欢迎您!
热门课程
联系方式
  • 常州和讯自动化培训中心
  • 常州市新北区府琛商务广场2号楼1409室
  • 电话:0519-85602926
  • 手机:15861139266 13401342299
当前位置:网站首页 > 新闻中心 新闻中心
opencv如何读取仪表中的指针刻度-常州机器视觉培训,常州上位机培训
日期:2024-3-6 14:12:11人气:  标签:常州机器视觉培训 常州上位机培训

最近遇到一个问题,如何读取仪表中的指针指向的刻度

1709272391.png

 解决方法有多种,比如,方案一:模板匹配+边缘检测+霍夫直线检测,方案二:神将网络(CNN)目标定位等,

其中CNN就有点麻烦了,需要一定数量的训练样本,太麻烦,而方案一太普通,最后我采用了方案三,

方案三:模板匹配+k-means+直线拟合

具体做法如下:

首先说一下模板匹配,它是OpenCV自带的一个算法,可以根据一个模板图到目标图上去寻找对应位置,如果模板找的比较好那么效果显著,这里说一下寻找模板的技巧,模板一定要标准、精准且特征明显。

第一次的模板选取如下:

1709272437.png

匹配的效果如下:

1709273712.png

根据模板选取的原则我们,必须进行两次匹配才能的到精确和更高准确率的结果


第二次的模板如下:

33.png

然后在第一次结果的的基础上也就是蓝色矩形框区域进行第二次匹配,结果如下:

34.png

下面对上图进行k-means二值化,由于途中的阴影,所以只截取原图的0.6(从中心)作为k-means聚类的样本点,然后将聚类结果应用至上图并重新二值化(聚类结果为2,求中值,根据中值二值化),同时只保留内切圆部分,效果如下:

35.png

接下来就是拟合直线,拟合直线我采用旋转虚拟直线法,假设一条直线从右边0度位置顺时针绕中心旋转当它转到指针指向的位置时重合的最多,此时记录下角度,最后根据角度计算刻度值。效果图如下:

36.png

最后就读取到了数值:


聚类结果:


[[31.99054054 23.04324324 14.89054054]


 [62.69068323 53.56024845 40.05652174]]


重合数量和对应角度:(1566, 158) 


对应刻度:36.005082940886126


源码如下:

1709273800.png

1709273808.png

1709274503.png

1709274511.png



本文网址:
下一篇:没有资料

相关信息:
版权所有 CopyRight 2006-2017 江苏和讯自动化设备有限公司 常州自动化培训中心 电话:0519-85602926 地址:常州市新北区府琛商务广场2号楼1409室
苏ICP备14016686号-2 技术支持:常州山水网络
本站关键词:常州PLC培训 常州PLC编程培训 常州PLC编程 常州PLC培训班 网站地图 网站标签
在线与我们取得联系