王胜辉 刘 鹏 冯宏恩 廖一帆
1(华北电力大学河北省输变电设备安全防御重点实验室 河北 保定 071003)2(南方电网科学研究院 广东 广州 510080)
基于OpenCV的高压电气设备放电紫外成像检测图像量化参数提取
王胜辉1刘鹏1冯宏恩1廖一帆2
1(华北电力大学河北省输变电设备安全防御重点实验室河北 保定 071003)2(南方电网科学研究院广东 广州 510080)
日盲紫外成像是一种可视化的高压设备放电检测新方法。为能量化分析放电,利用OpenCV的图形处理功能,对紫外图像进行数字图像处理并提取放电区域相关参数。介绍数字图像处理的相应算法原理以及实现该算法的OpenCV中相关函数;利用OpenCV对紫外检测放电图像进行图像灰度化、二值化、图像除噪及轮廓提取,实现了对放电光斑面积、周长等参数的提取。最后利用VC++编写了相关程序,通过调用OpenCV函数实现了上述图像处理。该软件人机界面友好、使用方便。相关研究成果为今后电力系统中量化分析高压电气设备放电提供了一种新的方法。
紫外成像OpenCV数字图像处理VC++
现场运行的高压电气设备在长期的电、热、机械应力和环境因素的作用下,其绝缘性能会逐步下降,在一定条件下会发生放电甚至沿面闪络,严重威胁电网的安全稳定运行。通过对放电进行检测有助于及时发现绝缘隐患,提前采取相关预防性措施。高压设备放电时会辐射出紫外光,近几年一种能探测紫外光信号并能对放电区域进行成像的日盲紫外成像仪开始应用于高压设备的放电检测,仪器的工作原理如图1所示。
图1 日盲紫外成像原理图
紫外成像仪采用了双通道成像技术,在图1中,可见光通道对设备本体进行成像,紫外通道采用了100%日盲滤光片,仅让240-280 nm波段紫外光信号通过,从而避免了外界太阳光信号的干扰。仪器采用了图像融合算法,将紫外通道图像叠加到了可见光图像上,从而定位出放电位置[1,2]。相对于传统的放电检测方法,紫外成像法具有非接触、探测距离远以及灵敏度高的优点,并能准确定位放电位置,因而近几年在电力系统中得到逐步推广应用[3,4]。
紫外成像仪直观显示的参数为“光子数”,但光子数受观测距离、增益及环境的影响很大,而且必须人工读取,放电不稳定时该参数读取较困难。另外,该参数为仪器计数框内总的光子数,当存在多个放电点时,难以对各独立放电点的放电进行量化分析。为将紫外成像法应用于放电的定量化分析之中,需要提出新的量化参数,紫外成像仪输出的最直观信号为紫外图像,图像中的白色区域即为放电光斑。本文实验研究发现,放电光斑大小会随放电强弱而变化,有学者从图形处理的角度提出光斑面积表征放电强度。如文献[5]利用多张紫外图像的光斑面积结合人工神经网络进行设备故障诊断,文献[6,7]经过实验研究表明了光斑面积表征放电强度的可行性。但直接利用Delphi和Matlab等软件实现相关图像处理算法编程工作量较大,基于此,本文提出运用OpenCV相关图像处理函数对紫外检测图像进行数字图像处理并提取图像量化参数的新方法。
基于上述研究现状,本文利用OpenCV中的相关函数对放电图像进行了有效分割,提取了光斑面积、光斑周长、等效长轴短轴等相关图像参数,实现了高压设备放电强弱的量化分析,且能够用于分析多放电点紫外图像。利用VC++开发了紫外图像处理和参数提取软件,该软件能在脱离VC++和OpenCV环境下独立运行,大大提高了图像处理和参数提取效率。本文的研究成果将为今后电力系统中高压设备紫外成像检测时量化分析放电提供一种新方法。
OpenCV是一种开放源代码的计算机视觉库。由一些C函数和C++类所组成,提供了针对各种格式的视频图像的帧提取函数和多种标准图像处理算法,可以实现例如图像分割、运动分析与跟踪、特征检测以及三维重建等功能。这些函数可以直接调用以完成复杂庞大的开发任务,缩短工程的开发周期[8]。
OpenCV主要由5个大模块组成[9,10],其优点如下[11,12]:① 可在具有C/C++编译器系统下运行;② 包含不受外部库影响的500多种函数,具有良好的独立性;③ 具备强大的图像和矩阵运算能力;④ 源代码公开,设计人员可以对其修改,实现自己想要的效果;⑤ 针对 Intel 的处理器进行了优化,运算速度快。
图2为下雪前在某220 kV变电站,利用CoroCAM 504紫外成像仪拍摄到的绝缘子放电紫外图像。
图2 紫外检测图像
由图2可知,绝缘子上有两个明显的放电点,周围还存在许多较小的白色干扰点,同时图像上还存在白色取景框及时间信息,这些对象可看作干扰点。因此在提取参数之前需要对图像进行滤波,只保留放电区域。根据上述图像特点,本文提出的图像处理流程如图3所示。
图3 图像处理流程图
在图3中,首先对图像进行预处理,包括灰度化及分割、形态学滤波、 小区域面积消除和轮廓提取;然后计算各放电区域图像的面积、周长、长轴和短轴等参数。本文在此以图2为例,分别对上述图像处理算法和OpenCV的实现方法进行介绍。
2.1图像预处理
1) 图像灰度化及分割
a) 图像灰度化
紫外成像仪输出图像为RGB彩色图像,为了提取放电区域,首先需对图像灰度化,即令R=G=B=Y,计算Y值的方法很多,在OpenCV中cvCvtColor()函数采用加权法计算Y值以实现彩色图像向灰度图像的转换,其公式如下:
Y=0.299R+0.587G+0.114B
(1)
其中,Y为灰度值,其范围为0~255。
b) 图像分割
分割图像的方法很多,鉴于放电光斑区域的灰度值和背景图像的灰度值相差较大,本文采用了阈值分割算法将图像二值化。其原理为将灰度图的各像素在某特定值范围内赋予其为白色(Y=255)或黑色(Y=0),其数学模型为:
(2)
式中t为阈值;g(x,y)为二值化后的灰度值;f(x,y)为二值化前的灰度值。
OpenCV中cvThreshold()函数可以实现对灰度图像的二值化操作。其原理就是将图像数组中每一个元素与设定的阈值对比而进行相关处理,可以通过选择函数中的阈值类型实现式(2), 其操作为:
dsti=(srci>t) ? 255∶0
(3)
其中,dsti为处理后的第i个像素值,srci为原图像的第i个像素值,t为设定的阈值。经函数cvThreshold()处理后得到如图4所示。
图4 阈值法分割后的图像
2) 数学形态学滤波
图像经过二值化后虽然可以达到一定的去噪效果,但从图4可知,对于一些灰度值接近于放电区域的点经过二值化后仍无法去除。为了更准确地提取放电区域,本文采用数学形态学的开闭运算对二值图像进行了滤波处理。
形态学基本运算包括腐蚀与膨胀。腐蚀与膨胀运算是指将原图像A与核(结构元素)B进行卷积,前者是计算结构元素B所覆盖区域中最小像素值,并将该值赋给结构元素B中参考点所指定的像素点;后者是计算结构元素B所覆盖区域中最大像素值,同样将该值赋给结构元素B中参考点所指定的像素点[13]。若用集合和向量位移运算表示腐蚀与膨胀运算:
(4)
(5)
式(4)表示在A被结构元素B覆盖的区域中计算最小像素点,则这样的像素点所构成的集合为腐蚀运算后的像素点。式(5)表示在A被结构元素B覆盖的区域中计算最大像素点,则这样的像素点所构成的集合为膨胀运算后的像素点。n1、n2为整数,与B的尺寸有关。
所以可知,若对图像单纯运用腐蚀或膨胀运算,会影响后续的参数计算。但是两种运算并不互逆,因此可以级联运用,先腐蚀再膨胀为开运算,先膨胀再腐蚀为闭运算,其定义如下:
A∘B=(AΘB)⊕B
(6)
A·B=(A⊕B)ΘB
(7)
其中∘、·分别表示开运算与闭运算。
开运算可以消除高于其邻近点的孤立点,在不明显改变其面积的情况下消除物体边界间的纤细点,同时起到平滑作用;闭运算可以消除低于其邻近点的孤立点,在不明显改变其面积的情况下填充并平滑邻近物体的边界。考虑到放电区域通常呈圆形,因此选择的结构元素为圆形结构。
在OpenCV中,cvCreateStructuringElementEx()作用是创建结构元素, 对于圆形结构元素可定义为圆形直径,本文默认为5;参考点的相对水平和垂直偏移量,本文固定为2。cvErode()、cvDilate()分别为腐蚀与膨胀运算函数。
利用以上三个函数再根据式(6)、式(7)可实现图像的开闭运算处理,如图5所示。图5与图4相比,消除了部分噪点,去除了细长的白色紫外光子数计数框和时间日期等数字信息。
图5 形态学处理后的图像
3) 小区域面积消除
从图5可知,经过数学形态滤波处理后,图中仍然有大量的干扰点,但与放电光斑相比其面积小得多。为此本文采用了二值图像的小区域面积消除算法去除图中干扰点,该算法的基本步骤如下:
a) 检测图5中每一个高亮区域,获取每一个区域的边界信息;
b) 通过边界信息获取每个连通区域的面积大小;
c) 设定一个阈值,依次将每个区域面积与该阈值进行对比,大于该阈值的区域保留下来,而小于该阈值的区域会被消除。
基于上述方法,可运用OpenCV函数cvContourArea()求得各个区域的面积,该函数将在参数提取中具体介绍。并且通过cvSeqRemove()函数将小于阈值的区域内的像素点置为0。本文设置阈值为230,经小区域消除算法处理后的图像如图6所示。
图6 小区域面积消除后的图像
4) 轮廓提取
为计算各放电区域的面积、周长等参数,本文提取了滤波后图像中各个光斑区域边界轮廓点坐标。
运用OpenCV实现边界提取利用了cvFindContours()函数,该函数可以从二值图像中检索轮廓,将轮廓作为一整体存储在序列中,并返回检测到的轮廓的个数。设置不同的检测模式和不同的轮廓近似方法,会得到不同的轮廓检测效果。
本文将检索边缘的模式mode定为CV_RETR_CCOMP,表示检索所有的轮廓同时将轮廓定义为两层,即各区域的外部边界和空洞的边界;近似方法method定为CV_CHAIN_CODE,表示使用Freeman链码输出轮廓。
Freeman链码一般是采用8个方向,即0、1、2、3、4、5、6、7的方式进行轮廓检测的,八个方向示意如图7所示。
图7 Freeman链码对应的八个方向
以初始点为中心,以逆时针或顺时针的方式检测八个方向的像素值,并按照从上到下、从左到右的方式检测整个图。当检测到边界点时,则定义该点为检测边缘起始点,并保存在链码内,以此继续向下检测,直到回到边缘起始点,则完成了一个轮廓的检测,并将表示轮廓的八个方向的编码存储于链码内[14]。其可表示形式如表1所示。
表1 一个轮廓的Freeman连码表结构
其中(x0,y0)为边界跟踪起始点的坐标,n为边界上点的总数,Bx为连码序列。
得到各个区域的轮廓后,本文利用函数cvAddWeighted(),使其与原图像进行重合。原理是将原图数组与处理后图像数组按照式(8)进行加权和,同时利用cvPutText()将轮廓序列号显示在图像中。
dst=src1×alpha+src2×beta+gamma
(8)
其中alpha为第一个图像数组的权值,本文定为1;beta为第二个图像数组的权值,本文定为0.8;gamma为常数项,本文为0。经处理后得到的图像如图8所示。
图8 放点区域边界提取图
从图8中可以看出,图像的边界与原图几乎重合,采用本文提出的上述图像处理算法在滤除噪声的同时,还能有效地分割出放电光斑,并且对光斑区域的畸变作用很小。
2.2参数提取
经过轮廓提取后,会产生各区域的连码表,将连码表经线性变换可得到线段表,线段表内存有放电区域边界上各点坐标。因此通过连码表和线段表可以求出放电区域的面积、周长、等效长轴、等效短轴等参数。
1) 放电面积计算
区域面积的计算方法是指定区域内点的总数和。若将二值图像中放电区域灰度值为255的点定义为1,则面积为该区域中1的总数。计算式如下:
S=∑(x,y)∈A1
(9)
其中A为某一放电区域。
2) 光斑周长的计算
(10)
3) 等效直径、等效长轴短轴计算
由于放电区域近似圆形,所以计算放电光斑的直径时,利用圆面积计算公式得出等效直径。
等效长轴计算即计算放电区域内通过区域中心连接两端的最长距离。等效短轴为放电区域内通过区域中心连接两端的最短距离。
4) 运用OpenCV进行参数提取
在利用函数cvFindContours()得到各个区域的轮廓顶点序列后,以序列CvSeq的指针变量作为函数cvContour Area()、cvArcLength()的轮廓点数组参数,可以对指定序列进行面积与周长计算。而通过函数cvGetSeqElem()及边界序列可得到区域边界上的每一像素点的坐标。以此可以求得放电区域的等效长轴及短轴。表2为参数计算结果。
表2 区域参数计算结果
为调用OpenCV的相关图像处理函数,首先在VC++中对OpenCV进行了相关配置,然后运用VC++开发了紫外图像处理及参数提取软件,图9为软件的操作主界面。
图9 程序操作界面
该软件通过调用上述OpenCV中的相关图像处理函数,实现了对紫外放电区域的分割、滤波处理,并计算得到了面积、周长、等效直径、等效长轴和短轴5个参数。仍然以图2为例,计算得到的两个光斑区域的图像参数如图10所示。
图10 参数显示界面
由图10可知,使用OpenCV图像处理函数能有效提取上述两个光斑区域的图像参数,从而实现了对高压设备放电强弱的定量分析。
针对高压设备表面放电的紫外图像特征,本文采用了数字图像处理算法对图像进行了灰度化、阈值分割、形态学滤波、小区域面积消除及轮廓提取,介绍了OpenCV的相关图像处理函数。
利用VC++编写了相关程序,通过调用OpenCV函数实现了上述图像处理算法,该软件人机界面友好、使用方便。
[1] Lindner M,Elstein M,Lindner P,et al.Daylight corona discharge imager[C]//High Voltage Engineering Symposium. London,1999,4:349-352.
[2] 王胜辉.基于紫外成像的污秽悬式绝缘子放电检测及评估[D].保定:华北电力大学,2011.
[3] Costa E G, Ferreira T V, Neri M G, et al.Characterization of polymeric insulators using thermal and UV imaging under laboratory condition[J].IEEE Trans. on Dielectrics and Electrical Insulation,2009,16(4):985-992.
[4] Zhou W J,Li H, Yi X, et al.A criterion for UV detection of AC corona inception in a rod-plane air gap [J]. IEEE Trans. on Dielectrics and Electrical Insulation,2011, 18(1):232-237.
[5] 马立新,陶博豪,徐如钧,等.放电故障紫外检测系统及其状态识别方法[J].计算机测量与控制,2012,20(7):1803-1805.
[6] 律方成,戴日俊,王胜辉,等.基于紫外成像图像信息的绝缘子表面放电量化方法[J].电工技术学报,2012,27(2):261-268.
[7] 王胜辉,李楠,廖鹏.放电日盲紫外成像检测图像参数提取方法研究[J].华北电力大学学报:自然科学版,2013,40(6):40-45.
[8] 黎松,平西建,丁益洪.开放源代码的计算机视觉类库 OpenCV 的应用 [J].计算机应用与软件,2005,22(8):134-136.
[9] 阴法明.基于OpenCV的图像处理[J].科技信息,2009(32):220.
[10] 马新明,赵晓莉,时雷,等.基于 OpenCV 的图像处理系统设计与实现[J].河南农业大学学报,2014,48(1):87-90.
[11] 秦小文,温志芳,乔维维.基于OpenCV的图像处理[J].电子测试,2011,31(7):39-41.
[12] 贾小军,喻擎苍.基于开源计算机视觉库OpenCV的图像处理[J].计算机应用与软件,2008,25(4):276-278.
[13] Gary Bradski,Adrian Kaehler.Learning OpenCV[M].于仕琪,刘瑞祯,译.北京:清华大学出版社,2009:135-137.
[14] 阳建中,禤世丽,韦小铃.基于Freeman链码连通体边界检测及其在坭兴陶图像中的应用[J].现代计算机,2014,31(12):32-35.
EXTRACTING QUANTISATION PARAMETERS OF DETECTION IMAGE USING ULTRAVIOLET IMAGING FOR DISCHARGE OF HIGH-VOLTAGE ELECTRICAL EQUIPMENTS BASED ON OPENCV
Wang Shenghui1Liu Peng1Feng Hong’en1Liao Yifan2
1(Hebei Provincial Key Laboratory of Power Transmission Equipment Security Defense, North China Electric Power University, Baoding 071003, Hebei, China)2(ScientificResearchInstituteofChinaSouthernPowerGrid,Guangzhou510080,Guangdong,China)
Solar blind ultraviolet imaging is a new visualised detection method for discharge of high-voltage equipments. In order to analyse the discharge quantitatively, in this paper we make use of the graphics processing functions of OpenCV to carry out digital image processing on UV images and extract the related parameters of discharge area. The paper introduces the principle of corresponding algorithm of digital image processing and the related functions in OpenCV while realising the algorithm. OpenCV is used to process the UV detection discharge image including graying the image, binarisation, image denoising and contour extraction, thus the extraction of parameters such as discharge spot area and perimeter is achieved. At last, the paper compiles the related programme with VC++ and realises the above image processing by calling OpenCV function. This software has friendly human-machine interface and operates easily. The relevant study achievement of this paper provides a new method for power system to quantitatively analyse the high-voltage electrical equipment discharge.
Ultraviolet imagerOpenCVDigital image processingVC++
2015-03-30。国家自然科学基金项目(51077054);特高压工程技术(昆明、广州)国家工程实验室开放基金项目(NEL2015 08)。王胜辉,讲师,主研领域:电气设备在线监测与故障诊。刘鹏,硕士生。冯宏恩,硕士生。廖一帆,工程师。
TP3
A
10.3969/j.issn.1000-386x.2016.09.040