当前位置: 首页 > 专利查询>西京学院专利>正文

一种基于OpenCV的SF6密度控制器表盘指针角度检测方法技术

技术编号:35365016 阅读:37 留言:0更新日期:2022-10-29 18:04
一种基于OpenCV的SF6密度控制器表盘指针角度检测方法,通过对OpenCV开源库比分算法的组合及改进,结合Matplotlib绘图库,可以有效的提取出表盘指针的角度信息;首先将SF6密度控制器安装于一固定支架,采集指针在长刻度线时的图像,接着对采集的图像进行灰度化,使用Matplotlib绘图库采集三个长刻度线与表盘内圈的交点坐标,通过采集到的三点坐标求其表盘圆心坐标及内圈圆半径,然后构建旋转矩阵对图像进行旋转,对旋转后图像进行坐标转换,使球坐标系转换为笛卡尔坐标系,接着对转换后的图像进行翻转、二值化、形态学处理、阈值取反、刻度线ROI区域提取,最后通过遍历ROI区域阈值的大小找出表盘起始刻度线、表盘终止刻度线及当前指针中心位置的X坐标值,将角度信息通过长度进行表征,得到当前指针的角度信息;本发明专利技术方法有效的实现了SF6密度控制器表盘指针角度的识别工作,提高了传统人工肉眼检测的精度及效率。效率。效率。

【技术实现步骤摘要】
一种基于OpenCV的SF6密度控制器表盘指针角度检测方法


[0001]本专利技术涉及一种检测方法,具体是一种基于OpenCV的SF6密度控制器表盘指针角度检测方法。

技术介绍

[0002]SF6密度控制器作为一种检测SF6危险气体密度的一种重要仪器,表盘数值的精度会极大的影响产品的质量及使用现场的安全。SF6密度控制器在生产过程中,由于产品内部结构中不同批次的弹簧管材料的差异、内部齿轮间的摩擦导致的游丝力矩增大以及装配过程中产生的人为误差等因素都会导致指针示值与标准数值产生偏差,当前SF6密度控制器生产企业常用肉眼观察的方式对表盘指针的当前位置与表盘起始刻度线间的角度进行记录,但该方法成本高、误差大,难以达到大批量校准的目的。

技术实现思路

[0003]为了克服上述
技术介绍
存在的问题,本专利技术的目的在于提出一种基于OpenCV的SF6密度控制器表盘指针角度检测方法,采用机器视觉技术,使用OpenCV开源视觉库实时对表盘指针角度进行检测,可大幅度提高检测的效率及精度。
[0004]为了实现上述目的,本专利技术采用技术手段如下:
[0005]一种基于OpenCV的SF6密度控制器表盘指针角度检测方法,具体包括以下步骤:
[0006]步骤1获取SF6密度控制器表盘图像B1,并将该图像灰度化处理得到图像B2;
[0007]步骤2对图像B2进行旋转得到图像B3;
[0008]步骤3对图像B3进行坐标转换得到图像B4;
[0009]步骤4对图像B4进行翻转、二值化、形态学操作、取反,得到图像B5;
[0010]步骤5对图像B5中的刻度线ROI区域进行提取,得到图像B6;
[0011]步骤6对图像B6进行阈值遍历,得到起终点及指针中心位置x坐标;
[0012]步骤7将角度信息通过长度进行表征,得到当前指针的角度信息图B7。
[0013]进一步的,所述步骤1中得到图像B1、B2的具体步骤如下:
[0014]1.1)将SF6密度控制器安装于一固定支架上,用工业相机采集SF6密度控制器的指针在表盘长刻度线时的表盘图像B1;
[0015]1.2)通过cvColor函数将图像B1转换为图像B2。
[0016]进一步的,所述步骤2中得到图像B3的具体步骤如下:
[0017]2.1)使用Matplotlib绘图库分别采集表盘长刻度线与表盘内圈的交点坐标A(Xa,Ya),B(Xb,Yb),C(Xc,Yc);
[0018]2.2)通过圆上A、B、C三点求取圆心坐标及半径,设定:
[0019][0020]代入圆标准方程得到圆心点O坐标(X
o
,Y
o
)以及半径r,
[0021][0022]2.3)通过getRotationMatrix2D函数输入获取的圆心坐标以及旋转角度得到旋转矩阵,通过warpAffine函数将图像B2进行旋转得到B3。
[0023]进一步的,所述步骤3中得到图像B4的具体步骤如下:
[0024]3.1)设置步骤2转换后图像的宽度H;
[0025]3.2)假定该表盘平面为一球体横截面,通过球坐标系转换为笛卡尔坐标系的方式将图像B3转换为一矩形图像B4。
[0026]进一步的,所述步骤4中得到图像B5的具体步骤如下:
[0027]4.1)对步骤3坐标转换后的图像B4,使用flip函数将其进行翻转;
[0028]4.2)对翻转后的图像采用cv2.THRESH_OTSU参数进行图像自适应阈值的二值化处理;
[0029]4.3)对二值化的图像,使用cv2.MOPRH_OPEN函数进行开运算操作,设置一奇数单位矩阵与其进行卷积运算;
[0030]4.4)通过cv2.bitwise_not函数对步骤4.3)开运算后的图像进行取反得到图像B5。
[0031]进一步的,步骤5对图像B5中的刻度线ROI区域进行提取得到图像B6的方法为:通过定义图像B5中的X、Y坐标提取出只含刻度线的ROI区域图像B6。
[0032]进一步的,所述步骤6的具体步骤如下:
[0033]6.1)将步骤5得到的图像B6各像素列中的阈值数值进行相加,得到X
n
,n为该图像像素列数;
[0034]6.2)使用for函数对该图像所有列像素进行遍历;
[0035]6.3)设定阈值x_max=图像中最大阈值,若X
n
≥x_max,则记录X
n
所在坐标x_s,直到数值≤x_max,记录所在坐标x_e,记录该最大值连续出现的最大长度L,并记录该最大长度的起终点坐标x_l_s,x_l_e;
[0036]6.4)此时表盘起始刻度线起终点x坐标为x_s[0]、x_e[0],中心坐标xx_1=(x_e[0]‑
x_s[0])/2;表盘终止刻度线起终点x坐标为x_s[

1]、x_e[

1],中心坐标xx_9=(x_e[

1]‑
x_s[

1])/2;指针的起终点x坐标为x_l_s、x_l_e,中心坐标xx_z=(x_l_e

x_l_s)/2。
[0037]进一步的,所述步骤7的具体步骤如下:
[0038]7.1)表盘起始刻度线距表盘终止刻度线的角度为A,将(xx_9

xx_1)的长度表征为A;
[0039]7.2)当前指针距表盘起始刻度线的角度为(xx_z

xx_1)/((xx_9

xx_1)*270);
[0040]7.3)通过cv2.putText函数、cv2.circle函数以及cv2.line函数将角度信息、圆心点、指针中心线进行绘制得到图像B7。
[0041]本专利技术采用以上技术方案,具有以下有益效果:
[0042]本专利技术方法利用OpenCV中的灰度化、形态学处理、自适应二值化、坐标转换等算法,对其进行了相应的优化及整合,实现了对表盘图像的预处理操作,通过图像旋转、求取ROI区域等操作实现了表盘刻度线区域的分割,最后将分割出的区域进行了阈值信息遍历的操作实现了对表盘指针角度的精确测量。
附图说明
[0043]图1为本专利技术的整体流程图。
[0044]图2为图1中图像B4得到图像B5的流程图。
[0045]图3为图1中对图像B6进行遍历的流程图。
具体实施方式
[0046]下面结合附图对本专利技术做进一步详细说明。
[0047]一种基于OpenCV的SF6密度控制器表盘指针角度检测方法,具体包括以下步骤:
[0048]步骤1获取SF6密度控制器表盘图像B1,并将该图像灰度化处理得到图像B2;
[0049]步骤2对图像B2进行旋转得到图像B3;
[0050]步骤3对图像B3进行坐标转换得到图本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于OpenCV的SF6密度控制器表盘指针角度检测方法,其特征在于,包括以下步骤:步骤1获取SF6密度控制器表盘图像B1,并将该图像灰度化处理得到图像B2;步骤2对图像B2进行旋转得到图像B3;步骤3对图像B3进行坐标转换得到图像B4;步骤4对图像B4进行翻转、二值化、形态学操作、取反,得到图像B5;步骤5对图像B5中的刻度线ROI区域进行提取得到图像B6;步骤6对图像B6进行阈值遍历,得到起终点及指针中心位置x坐标;步骤7将角度信息通过长度进行表征,得到当前指针的角度信息图B7。2.根据权利要求1所述的一种基于OpenCV的SF6密度控制器表盘指针角度检测方法,其特征在于,所述步骤1中获取SF6密度控制器表盘图像B1,并将该图像灰度化处理得到图像B2的具体步骤如下:1.1)将SF6密度控制器安装于一固定支架上,用工业相机采集SF6密度控制器的指针在表盘长刻度线时的表盘图像B1;1.2)通过cvColor函数将图像B1转换为图像B2。3.根据权利要求2所述的一种基于OpenCV的SF6密度控制器表盘指针角度检测方法,其特征在于,所述步骤2对图像B2进行旋转得到图像B3的具体步骤如下:1)使用Matplotlib绘图库采集三个表盘长刻度线与表盘内圈的交点坐标A(Xa,Ya),B(Xb,Yb),C(Xc,Yc);2)通过圆上A、B、C三点求取圆心坐标及半径,设定:代入圆标准方程得到圆心点O坐标(X
o
,Y
o
)以及半径r;2.3)通过getRotationMatrix2D函数输入获取的圆心坐标以及旋转角度得到旋转矩阵,通过warpAffine函数将图像B2进行旋转得到B3。4.根据权利要求2所述的一种基于OpenCV的SF6密度控制器表盘指针角度检测方法,其特征在于,所述步骤3中得到图像B4的具体步骤如下:3.1)设置步骤2转换后图像的宽度H;3.2)假定该表盘平面为一球体横截面,通过球坐标系转换为笛卡尔坐标系的方式将图
像B3转换为一矩形图像B4。5.根据权利要求2所述的一种基于OpenCV的SF6密度控制器表盘指针角度检测方法,其特征在于,所述步骤4中得到图像B5的具体步骤如下:4.1)对步骤3坐标转换后的图像B4,使用flip函数将其进行翻转;4.2)对翻转后的图像采用cv2.THRESH_OTSU参数进行图像自适应阈值的二值化处理;4.3)对二值化的图像,使用cv2.MOPRH_OPEN函数进行开运算操作,...

【专利技术属性】
技术研发人员:张宁侯成阳张斯宇殷新燕许超
申请(专利权)人:西京学院
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1