当前位置:网站首页>双指针仪表盘读数(一)
双指针仪表盘读数(一)
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
边栏推荐
- Arranges the objects specified in the array in front of the array
- 异常记录-8
- Build an OSS based image sharing website - polite feedback
- 异常记录-5
- Practice of openvswitch VLAN network
- Practice using polardb and ECs to build portal websites
- Analysis of Rdam principle
- 通过源码探究@ModelAndView如何实现数据与页面的转发
- MySQL 【读写锁+表锁+行锁+MVCC】
- How does VirtualBox modify the IP network segment assigned to the virtual machine in the "network address translation (NAT)" network mode
猜你喜欢
[OSS file upload quick start]
MySQL 【读写锁+表锁+行锁+MVCC】
[Lombok quick start]
Introduction to RDMA network
Build a cloud blog based on ECS (send blessings on the cloud Xiaobao code and draw iphone13 for free)
Dolphinscheduler配置Datax踩坑记录
Practice of openvswitch VLAN network
Winter combat camp hands-on combat - MySQL database rapid deployment practice lead mouse cloud Xiaobao
Implementation of multi tenant read and write in Prometheus cortex
Static interface method calls are not supported at language level ‘5‘ 异常解决
随机推荐
select命令产生redo日志问题的分析
异常记录-11
pg库对姓名进行校验
10g数据库使用大内存主机时不能启动的问题
Prometheus Thanos与Cortex组件比较
Chaos帶你快速上手混沌工程
Error alarm of Postgres master-slave replication delay monitoring
Arranges the objects specified in the array in front of the array
异常记录-18
RAC环境数据库节点参数设置不当导致监听无法连接问题排查
mysql和pg库遇到冲突数据时的两种处理方式
实践使用PolarDB和ECS搭建门户网站
Passerelle haute performance pour l'interconnexion entre VPC et IDC basée sur dpdk
Implementation of multi tenant read and write in Prometheus cortex
异常记录-13
Redis 详解(基础+数据类型+事务+持久化+发布订阅+主从复制+哨兵+缓存穿透、击穿、雪崩)
Virtio and Vhost_ Net introduction
Introduction to DDoS attack / defense
[MySQL basics] startup options and configuration files
RAC环境中openssh版本对SSH互信创建的影响