![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
指针仪表盘参数读取
盏茶y
学习,是一生的事业。
展开
-
OpenCV 指针仪表盘参数读取(一) 方案设计
最近涉及到一个对指针式仪表盘通过图像处理的方式进行参数读取的工作,在此项工作中,比较重要的目的是 尽可能提高参数读取的准确率。确定两项主要工作内容:1.识别指针仪表盘的参数2.尽可能提高准确率网上相关的教程比较多,OpenCV中的python版本也提供了相关的教程,但想搭建一个适合于项目的工程,还是需要进行参数调节的,毕竟不是一个可以自动调节的黑箱工程,通过对指针式仪表的识别调研,...原创 2019-05-20 23:29:45 · 11694 阅读 · 1 评论 -
OpenCV 指针仪表盘参数读取(二) 预处理
本文将从图像的预处理部分进行叙述,包括图片的读入,模板匹配,灰度化,中值滤波四个部分。图片读入为保证后续对图片的处理方便,这里的初步设计是希望在主程序入口对程序进行操作,故提前定义如窗口名,文件名等信息(图片的索引是在与cpp文件的同文件夹下),代码如下:// Define Window Namechar window_name[] = "Demo";// Define Fil...原创 2019-05-21 11:27:10 · 4274 阅读 · 2 评论 -
OpenCV 指针仪表盘参数读取(三) 圆检测
本文将进入方案设计的核心部分,我们在实现方案的过程中,仪表盘和指针的定位信息十分重要,因为我们需要指针的偏转角来进行参数计算,而仪表盘的圆心和弧度会在进行直线选择的过程中提供非常重要的阈值,对结果的正确性至关重要。方案选择在圆检测的方案中,主要考虑了两种方案:1.Hough圆检测算法2.随机采样圆检测算法其中Hough圆检测算法是普及程度较高的算法,在OpenCV的库中也有相应...原创 2019-05-21 11:41:45 · 5864 阅读 · 0 评论 -
OpenCV 指针仪表盘参数读取(四) 指针定位
这一节是此方案设计的最核心部分,指针能否准确的定位出来是最关键的问题,在学习过程中,初步采用几种方案来尽可能的提高指针定位的精度:1.指针定位的方案: Hough直线检测 环向模板匹配法径向灰度求和法2.指针细化的方法(算法将放在文章最后提供测试与使用)对于指针定位,初步的设计思路是采用Hough直线检测的方法,而后通过直线上的点与圆的关系来将错误检测的直线进行过滤,此方案的难点在于...原创 2019-05-21 12:08:53 · 10087 阅读 · 3 评论 -
OpenCV 指针仪表盘参数读取(五) 参数计算
在得到圆心信息和直线信息后,需要通过这些信息把他们转化为角度信息,在转化为我们需要的参数信息,这里需要用到math.h头文件中的反切函数,即atan2(x, y)这个函数是以x,y相对于0,0点的位置在不同象限上进行计算的,输出范围为-pi,pi,因此需要对它的输出值进行一定的转化,在OpenCV中,图像坐标系和常用的坐标系如下图:故除第三象限,其他象限都为(3 * pi / 2...原创 2019-05-21 12:28:02 · 4735 阅读 · 9 评论