压板状态的识别方法与流程

专利2022-06-29  74


本发明涉及一种电力系统巡检辅助技术领域,尤其涉及压板状态的识别方法。



背景技术:

在110kv变电站中通常有10-20个保护屏柜,220kv和500kv变电站的保护屏柜数量可达上百个,每个保护屏柜的压板开关数量多达五十四个,巡检工作需要对这些压板开关进行检查。然而在目前的人工巡检过程中存在工作量大、及时性差、工作记录纸质化等问题,加之巡检人员由于身理和心理素质、责任心、技术水平、工作经验等因素可能会出现失误,从而留下安全隐患,甚至造成重大安全灾害。由于现在的机器视觉技术和网络技术的长足发展,可以通过摄像头对保护屏柜的压板部分进行拍照,然后通过处理器对图像进行处理识别出压板的开关状态。然而,现有的技术还没有可以准确识别压板状态的方法。



技术实现要素:

本发明提供了一种压板状态的识别方法,可以有效解决上述问题。

本发明是这样实现的:

一种压板状态的识别方法,其特征在于,包括以下步骤:

s331,取出输入图hsv颜色空间中的s通道,进行阈值80,最大值255的二值化;

s332,利用morphologyex函数进行形态学运算,内核选择尺寸为9x9的矩形,对图像开运算;

s333,利用findcontours函数寻找轮廓,存下找到的所有轮廓contours;

s334,对contours的每一个元素取最小外接矩形boundrect;

s335,计算所有boundrects的面积中位数,对boundrects的每一个元素限定boundrects与其的偏差域进行第一次筛选,筛选出tarrects1;

s336,对tarrects1的每一个元素限定长宽比例进行第二次筛选,筛选出tarrects2;

s337,对tarrects2的每一个元素根据长宽比例判断压板开关状态;

s338,对tarrects2的每一个元素的x坐标递增排序,计算相邻元素差,并将相邻差转换为百分比变化diff;

s339,对tarrects2的每一个元素的y坐标递增排序,计算相邻元素差,并将相邻差转换为百分比变化diff。

本发明的有益效果是:本发明提供的压板状态的识别方法,可以准确识别压板的状态,其识别的准确率可达到99.9%以上。

附图说明

为了更清楚地说明本发明实施方式的技术方案,下面将对实施方式中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1~23是本发明实施例提供压板状态自动核对方法中,对背景过滤、旋转校正、压板状态识别处理的过程图像。

具体实施方式

为使本发明实施方式的目的、技术方案和优点更加清楚,下面将结合本发明实施方式中的附图,对本发明实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式是本发明一部分实施方式,而不是全部的实施方式。

参照图1~23所示,本发明实施例提供一种压板状态自动核对方法,包括以下步骤:

s1,通过手持扫描设备扫描保护屏柜所对应二维码,并从服务器获取该保护屏柜上压板开关的应设状态;

s2,通过所述手持扫描设备获取所述保护屏柜的照片并上传服务器;

s3,所述服务器依次对所述照片进行背景过滤、旋转校正、压板状态识别,并将识别结果回传给所述手持扫描设备;

s4,所述手持扫描设备将识别结果与应设状态进行比对,并将比对结果显示在所述手持扫描设备上;

s5,巡检人员根据比对结果再次检查,确认无误后将结果上传到服务器上进行保存。

参照图1所示,在步骤s3中,所述对所述照片进行背景过滤的步骤包括:

s311,获取输入照片hsv颜色空间中的s通道,进行阈值80,最大值255的二值化,获得图片如图2所示:

s312,利用morphologyex函数进行形态学运算,内核选择尺寸为9x9的矩形,对图像开运算(先腐蚀后膨胀),获得图片如图3所示:

开运算:

imgopen=open(img_thr,element)=dllate(erode(img.thr.element))

先腐蚀:

再膨胀:

s313,利用findcontours函数寻找轮廓,存下找到的所有轮廓contours,获得图片如图4所示:

contours=findcontours(img_open)。

s314,对contours的每一个元素取最小外接矩形boundrect,获得图片如图5所示:

boundrects={boundrect|boundrect

=rect(min(contour.x),min(contour.y)max(contour.x)

-min(contour.x),max(contour.y)-mincontour.y))contour∈contoirs}。

s315,计算所有boundrects的面积中位数(而不用面积边界筛选,使得算法适用于各种像素大小的配电板),对boundrects的每一个元素限定boundrects与其的偏差域进行第一次筛选,筛选出tarrects1,如图6所示:

根据boundrects的面积大小递增排序后的面积大小集合为terms

terms(boundrects)=ascendingorder(boundrects.area)

计算terms的中位数median

第一次筛选

s316,对tarrects1的每一个元素限定长宽比例进行第二次筛选,筛选出tarrects2,如图7所示;

tarrects2={rect|2*rect.height>rect,width.rect∈tarrects1}。

s317,对tarrects2的每一个元素利用calchist函数计算直方图h并归一化,利用comparehist函数与事前制作好的红、黄压板模板比较直方图,限定评分上限过滤非红、黄压板,进行第三次筛选tarrect3,如图9所示:

所述比较直方图:

s318,对tarrect3的每一个元素算出四个角点,合并存入点容器;

s319,取点容器中所有点的最小外接矩形filter_rect,并进行边界范围调整,将输入照片中此区域外的部分都填充为白色,获得过滤背景的照片,如图10所示。

作为进一步改进的,在步骤s3中,所述对所述照片进行旋转校正的步骤包括:

s321,过滤背景的照片取最小区域矩形(minarearect),再求出二维盒(cvbox2d)获得单个旋转角度,如图11所示;

求平均旋转角度avg_angle。

背景过滤三次筛选后的压板同索引下的轮廓:

contoura2={contour|contour=contours[rect.index],rect∈tarrect3}

平均旋转角度:

s322,选取输入图较长宽中较大的数乘倍设为canvas,将长与宽都为canvas的正方形作为画布,输入图与画布间的间隙利用copymakeborder函数填充黑色,如图12所示;

正方形画布边长:

上下左右填充区域长宽:

dx=(canvas_length-img.bgflter.cols)/2

dy=(canvas_length-img_bgfllter,rows)/2

因此,填充后的画布:

canvas=rect(0,0,canvas_length.canvas_length)。

s323,利用warpaffine函数旋转输入图,旋转角度为avg_angle,画布canvas中心记为center,如图13所示。

将原坐标(x,y)变换为新坐标(x′,y′),中间的变换矩阵记为m。

warpaffine的变换基本公式,

平移变换,若

x′=x tx

γt=γ ty

旋转变换,若旋转角度为θ。

opencv的图像处理中,所有对图像的处理都是从原点进行的,而图像的原点默认为图像的左上角,而我们对图像作旋转处理时一般以图像的中点为轴心,因此就需要做如下处理:先将轴心移到原点,做旋转变换,最后将左上角置为图像的原点。

arc2(x′,y′)=m3ximg.bgfllter(x,y)。

s324,计算旋转后图像的最小外接矩形img_recor的尺寸,剪掉画布多余的边框,如图14所示:

输出img_recor长宽:

img_recor,width=arc2,cols*aba(cos(avg_angle)) src2,rows*abs(sin(avg_angle))img_recor.height=arc2,cols中aba(sin(avg_angle)) src2,rows*abs(cos(avg_amgle))

裁剪画布区域长宽:

dx2=(canvas_length-img_recor,wldth)/2

dy2=(canvaa_length-img_recor,beight)/2

因此,输出img_recor:

img_recor=canvas(dx2,dy2,img_recor.width.img_.recor,height)。

作为进一步改进的,在步骤s3中,所述对所述照片进行压板状态识别的步骤包括:

s331~s336与步骤s311~s316相同,请一并参照图15~20。

s337,对tarrects2的每一个元素根据长宽比例判断压板开关状态;开请一并参照图21:

开:

tarrects_on={rect|2*rect.width>rwct,height,rect∈tarrects2}

关:

tarrects_off={rect|2*rect,wldth≤rect,height,r.ect∈tarrecta2}。

s338,对tarrects2的每一个元素的x坐标递增排序,计算相邻元素差,并将相邻差转换为百分比变化diff;s339,对tarrects2的每一个元素的y坐标递增排序,计算相邻元素差,并将相邻差转换为百分比变化diff,请参照图22及图23:

设定阈值diffval,当diff大于diffval时,进入下一个cluster。

tarrects2=ascendingorder(tarrects2)

以上所述仅为本发明的优选实施方式而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。


技术特征:

1.一种压板状态的识别方法,其特征在于,包括以下步骤:

s331,取出输入图hsv颜色空间中的s通道,进行阈值80,最大值255的二值化;

s332,利用morphologyex函数进行形态学运算,内核选择尺寸为9x9的矩形,对图像开运算;

s333,利用findcontours函数寻找轮廓,存下找到的所有轮廓contours;

s334,对contours的每一个元素取最小外接矩形boundrect;

s335,计算所有boundrects的面积中位数,对boundrects的每一个元素限定boundrects与其的偏差域进行第一次筛选,筛选出tarrects1;

s336,对tarrects1的每一个元素限定长宽比例进行第二次筛选,筛选出tarrects2;

s337,对tarrects2的每一个元素根据长宽比例判断压板开关状态;

s338,对tarrects2的每一个元素的x坐标递增排序,计算相邻元素差,并将相邻差转换为百分比变化diff;

s339,对tarrects2的每一个元素的y坐标递增排序,计算相邻元素差,并将相邻差转换为百分比变化diff。

技术总结
本发明提供了一种压板状态的识别方法,包括:取出输入图HSV颜色空间中的S通道,进行阈值80,最大值255的二值化;利用morphologyEx函数进行形态学运算,内核选择尺寸为9x9的矩形,对图像开运算;利用findContours函数寻找轮廓,存下找到的所有轮廓Contours;对Contours的每一个元素取最小外接矩形boundRect;计算所有BoundRects的面积中位数,对BoundRects的每一个元素限定BoundRects与其的偏差域进行第一次筛选,筛选出TarRects1;对TarRects1的每一个元素限定长宽比例进行第二次筛选,筛选出TarRects2;对TarRects2的每一个元素根据长宽比例判断压板开关状态;对TarRects2的每一个元素的x坐标递增排序,计算相邻元素差,并将相邻差转换为百分比变化diff;对TarRects2的每一个元素的y坐标递增排序,计算相邻元素差,并将相邻差转换为百分比变化diff存。

技术研发人员:田勇;关健杰
受保护的技术使用者:广东驰行电力设备有限公司
技术研发日:2020.01.17
技术公布日:2020.06.05

转载请注明原文地址: https://bbs.8miu.com/read-49165.html

最新回复(0)