1.本发明属于灭火器技术领域,具体涉及灭火器指针式仪表盘识别算法。
背景技术:2.灭火器表盘的红绿黄分别代表:(1)红色区域,表示灭火器内压力小,不能喷出。这表明该灭火器已经失效了,请立即充装或更换。(2)绿色区域,表示灭火器内压力正常,可以正常使用。可以发现绿色区域是红绿黄三段区域中范围最窄的一段。(3)黄色区域,表示灭火器内压力过大,可以使用,但却有爆炸的危险现有的问题,灭火器是作为配电站中的常备消防用品,对于日常检查灭火器内是否存在泄露或者用完没有及时更换等事件进行机器人自动巡检;为此本发明提出灭火器指针式仪表盘识别算法。
技术实现要素:3.本发明的目的在于提供灭火器指针式仪表盘识别算法,以解决上述背景技术中提出的问题。
4.为实现上述目的,本发明提供如下技术方案:灭火器指针式仪表盘识别算法,包括步骤一:采用rgb三通道分别计算rgb平均值,然后设定阈值差分别取得主要红色、黄色区域并二值化成黑白;
5.步骤二:设以表盘中心位置为原点向上、下、左、右、上左、下右、上右、下左八个方向同时延伸取出白色像素点;
6.步骤三:对白色点进行区域生长算法,若取得的白色像素点大于所有点的1/10即设为需要查找的颜色;
7.步骤四:合并红色和白色区域生成与原图大小一致的图像设为a图像;
8.步骤五:取得的红色区域进行opencv轮廓检测算法获取最小矩形,计算最小矩形的中心点,然后以a图像、原图像中心为中心点的顺时针方向旋转到矩形中心点在时钟9点位置;
9.步骤六:对a图像进行opencv轮廓检测算法获取最小矩形的四个直角坐标点,然后以红色矩形区域的左上点为坐标原点(x,y)计算最小矩形最短边长min_len,然后计算取出小于(y+min_len)的像素点图像b;
10.步骤七:对a图像进行opencv轮廓检测算法获取最小矩形的四个直角坐标点,然后以黄色矩形区域的左上点为坐标原点(x,y)计算最小矩形最短边长min_len,然后计算取出小于(x+min_len)的像素点图像c;
11.步骤八:b图像与c图像合并图像;
12.步骤九:然后分别计算b图像的左上角点b_0和右下角点b_1,c图像的左上角点c_0和左下角点c_1;
13.步骤十:裁剪b_0、b_1、c_1、c_0组成的不规则四边形,使用ostu二值化图像作为d图像;
14.步骤十一:对d图像进行骨架细化算法取得指针骨架e图像;
15.步骤十二:采用最小二乘法计算e图像骨架像素点取得方程直线y=kx+b,计算图像b_1、c_1所连接成的直线方程y与骨架细化的直线方程相交点d_0坐标(d_x,d_y);
16.步骤十三:计算b_1与d_0距离、c_1与d_0距离然后换算成长度比例计算出灭火器的压力值。
17.优选的,所述表盘上沿着顺时针方向依次设置有红色区域、绿色区域以及黄色区域。
18.优选的,所述步骤二中,八个方向的每相邻两个方向之间的角度为四十五度角。
19.优选的,上述步骤中的所有计算过程,需要进行多次计算,保证数据的有效性。
20.与现有技术相比,本发明的有益效果是:本发明提出的灭火器指针式仪表盘识别算法,可以自动通过采集灭火器表盘上的图像进行识别和计算来检查灭火器的当前状态,检测其是否存在泄露或者用完没有及时更换等情况,检查准确高效,方便对检查存在问题的灭火器进行及时更换,保证消防安全,更加的自动化和智能化。
附图说明
21.图1为本发明的流程示意图;
22.图2为本发明的步骤一处理后的表盘示意图;
23.图3为本发明步骤二处理后的表盘示意图;
24.图4为本发明步骤三处理后的表盘示意图;
25.图5为本发明步骤四处理后的表盘示意图;
26.图6为本发明步骤五处理后的表盘示意图;
27.图7为本发明步骤六处理后的表盘示意图;
28.图8为本发明步骤七处理后的表盘示意图;
29.图9为本发明步骤八处理后的表盘示意图;
30.图10为本发明步骤十处理后的表盘示意图;
31.图11为本发明的步骤十一处理后的表盘示意图;
具体实施方式
32.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
33.请参阅图1-11,本发明提供灭火器指针式仪表盘识别算法技术方案:灭火器指针式仪表盘识别算法,包括步骤一:采用rgb三通道分别计算rgb平均值,然后设定阈值差分别取得主要红色、黄色区域并二值化成黑白;为步骤二取出白色像素点做准备;
34.步骤二:设以表盘中心位置为原点向上、下、左、右、上左、下右、上右、下左八个方向同时延伸取出白色像素点;
35.步骤三:对白色点进行区域生长算法,若取得的白色像素点大于所有点的1/10即设为需要查找的颜色;
36.步骤四:合并红色和白色区域生成与原图大小一致的图像设为a图像;
37.步骤五:取得的红色区域进行opencv轮廓检测算法获取最小矩形,计算最小矩形的中心点,然后以a图像、原图像中心为中心点的顺时针方向旋转到矩形中心点在时钟9点位置;
38.步骤六:对a图像进行opencv轮廓检测算法获取最小矩形的四个直角坐标点,然后以红色矩形区域的左上点为坐标原点(x,y)计算最小矩形最短边长min_len,然后计算取出小于(y+min_len)的像素点图像b;
39.步骤七:对a图像进行opencv轮廓检测算法获取最小矩形的四个直角坐标点,然后以黄色矩形区域的左上点为坐标原点(x,y)计算最小矩形最短边长min_len,然后计算取出小于(x+min_len)的像素点图像c;
40.步骤八:b图像与c图像合并图像;
41.步骤九:然后分别计算b图像的左上角点b_0和右下角点b_1,c图像的左上角点c_0和左下角点c_1;
42.步骤十:裁剪b_0、b_1、c_1、c_0组成的不规则四边形,使用ostu二值化图像作为d图像;
43.步骤十一:对d图像进行骨架细化算法取得指针骨架e图像;
44.步骤十二:采用最小二乘法计算e图像骨架像素点取得方程直线y=kx+b,计算图像b_1、c_1所连接成的直线方程y与骨架细化的直线方程相交点d_0坐标(d_x,d_y);
45.步骤十三:计算b_1与d_0距离、c_1与d_0距离然后换算成长度比例计算出灭火器的压力值,便可以根据计算出来的压力值来判断灭火器罐当前的状态。
46.本实施例中,优选的,所述表盘上沿着顺时针方向依次设置有红色区域、绿色区域以及黄色区域,为了方便显示,便于观察区分处理。
47.本实施例中,优选的,所述步骤二中,八个方向的每相邻两个方向之间的角度为四十五度角,为了方便均匀的取出白色像素点,保证良好的准确性,减小误差。
48.本实施例中,优选的,上述步骤中的所有计算过程,需要进行多次计算,保证数据的有效性,为了保证数据的真实有效性,保证计算的结果不会出现较大的偏差。
49.尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。