当前位置:网站首页>双指针仪表盘读数(一)
双指针仪表盘读数(一)
2022-04-23 06:05:00 【贾岚翔】
本章节内容:拿到项目的思考以及表盘识别
我基本上把CSDN上所有的关于指针读数文章以及下载都看过了,有需求或者疑问的同学可以来交流,资源也可以免费给了,最后的识别效果就如上一篇的图片所示,运行程序占用的资源经过优化之后特别小,GPU可有可无。回头写个论文弄个专利应该挺轻松的。
开发语言:python3.0+
调用包:
1.sys 用于退出程序:sys.exit()
2.time 用于计算时间,还用于matplotlib画图的计时
3. win32api 用于监测按钮 win32api.GetKeyState(27)
4. cv2 主要调用,大部分处理都需要opencv,版本为3.4
5. imutils 主要用于计算中心点坐标
6. matplotlib 画图
7. numpy 数学
8. PIL 主要用于转化arry数组为图像
具体版本见下表,懒得一一对应了,自己找一下吧


说一下刚拿到需求的思路以及后来否定的过程:
拿到的需求:一个表盘,识别速度以及信号,表盘为圆形

想法:hog+svm训练模型,实时追踪表盘位置,霍夫直线识别直线,以角度识别对应的速度
实践:hog+svm的速度可以,但是霍夫直线检测效果特别差
原因: 因为表盘使用的指针是一个椭圆形指针,前端有一小节指针,识别效果不理想,
应对办法:使用opencv图像处理对表盘进行二值化之后,使用细化算法(Image Thinning),和之前看的腐蚀膨胀差不多,看了都可以很快理解,但是加上细化算法之后识别效果还是很差,此路不通,换方案。

由于中间厂家换了一种表盘,使用的hog+svm寻找表盘就不可以用了,换为霍夫圆形检测(hough cirlce Transform),调参是一门大学问,可以根据自己需求进行调参。
circles = cv2.HoughCircles(
binary, cv2.HOUGH_GRADIENT, 2, 1000, param1=100, param2=100, minRadius=10, maxRadius=5000)
但是有一个问题,一直进行霍夫检测圆对于计算机的性能要求特别高,时间复杂度空间复杂度大,对于处理视频而言效率达不到,这里我想到了一个解决办法,使用第一次识别出来的圆形对图像进行切割,后续视频中所有的圆形全部按照这个切割区域进行识别,大大降低了设备性能损耗。摄像机位置后期固定,此方案为多种方案对比下最好的方案。
对比方案:1.CSDN某博文方案:模板匹配法
2.自己之前的方案:hog+svm
3.视频每一帧都进行霍夫圆形检测方案
4.CSDN某下载方案:忘了啥方案反正我这边做的效果都没上述对比效果好。
本章写到这里吧,工作原因,改天继续
版权声明
本文为[贾岚翔]所创,转载请带上原文链接,感谢
https://jialanxiang.blog.csdn.net/article/details/122985346
边栏推荐
- 基於ECS搭建雲上博客(雲小寶碼上送祝福,免費抽iphone13任務詳解)
- switch case时连写常规判断表达式的错误 case和if并用 l
- Dolphinscheduler调度spark任务踩坑记录
- Abnormal record-20
- 异常记录-5
- 异常记录-19
- Using Prom label proxy to implement label based multi tenant reading of Prometheus thanos
- Thanos Compactor组件使用
- 你应该知道的 JVM 基础知识
- Redis practice notes and source code analysis
猜你喜欢
![[ES6 quick start]](/img/9e/4c4be5907c1f7b3485c2f4178b9150.png)
[ES6 quick start]

MySQL 【读写锁+表锁+行锁+MVCC】

Build a cloud blog based on ECS (polite experience)

使用prom-label-proxy实现Prometheus Thanos的基于标签的多租户读

Ali vector library Icon tutorial (online, download)

Winter combat camp hands-on combat - first understand the cloud foundation, hands-on practice ECS ECS ECS novice on the road to get the mouse cloud Xiaobao backpack shadowless

Thanos Compact组件测试总结(处理历史数据)

MySQL【sql性能分析+sql调优】

10g数据库使用大内存主机时不能启动的问题

OVS and OVS + dpdk architecture analysis
随机推荐
How to use tiup to deploy a tidb V5 0 cluster
常用于融合去重的窗口函数row_number
[step by step, even thousands of miles] MySQL reports a large number of unauthenticated user connection errors
pg库对姓名进行校验
ORACLE环境遇到的ORA-600 [qkacon:FJswrwo]
Construire un blog Cloud basé sur ECS (bénédiction sur le Code Cloud Xiaobao, explication détaillée de la tâche iphone13 gratuite)
Abnormal record-15
异常记录-8
try catch 不能捕获异步错误
OVS and OVS + dpdk architecture analysis
Abnormal record-10
Exception record-7
阿里矢量库的图标使用教程(在线,下载)
将博客搬至CSDN
Detailed explanation of RDMA programming
Relabel of Prometheus_ Configs and metric_ relabel_ Configs explanation and usage examples
Prometheus thanos Quick Guide
Passerelle haute performance pour l'interconnexion entre VPC et IDC basée sur dpdk
Prometheus alarm record persistence (historical alarm saving and Statistics)
Common views of Oracle database performance analysis