一种基于OpenCV的管廊视频目标检测方法技术

技术编号:20845770 阅读:26 留言:0更新日期:2019-04-13 09:04
本发明专利技术涉及一种基于OpenCV的管廊视频目标检测方法,其特征在于包括步骤:一,利用摄像头采集管廊视频数据;二,利用OpenCV函数得到图像序列的帧,对获取的每一帧图像进行平滑滤波处理以减少噪声;三,将图像颜色转为HSV颜色空间;四,创建滑动条以得到颜色参数的阈值,从而得到图像的二值图像;五,对二值图像进行形态学处理;六,绘制窗口将目标物体框出并进行数据叠加。该方法对摄像头拍摄的视频数据进行分析,检测目标物体颜色并将目标物体框出;然后再从数据库调取相应数据实时叠加到视频信号,这样只需观察视频数据就能分析故障地点与故障原因,从而大大的提高了效率。

【技术实现步骤摘要】
一种基于OpenCV的管廊视频目标检测方法
本专利技术涉及一种基于OpenCV的管廊视频目标检测方法。
技术介绍
OpenCV由Intel于1999年建立,是一个基于BSD许可发行的跨平台计算机视觉库,可以运行在Windows、Mac、Linux操作系统上。它由一系列C函数和少量C++类构成,轻量且高效,同时提供了Python、Ruby、MATLAB等语言的接口,可以实现计算机视觉及图像处理的大多数算法。管廊项目中采用了物联网技术,每时每刻都在产生大量数据,其中视频数据是最主要的数据来源。目前当管廊中发生意外情况,工作人员需要同时调取监控视频与数据库传感器数据进行分析,效率低下。
技术实现思路
本专利技术针对现有技术的不足,提供一种基于OpenCV的管廊视频目标检测方法。该方法先对摄像头拍摄的视频数据进行分析,检测目标物体颜色并将目标物体框出;然后再从数据库调取相应数据实时叠加到视频信号,这样工作人员只需观察视频数据就能分析故障地点与故障原因,大大提高效率,节省时间。为了达到上述目的,本专利技术主要是通过以下技术方案实现的。一种基于OpenCV的管廊视频目标检测方法,主要包括以下步骤:首先,利用摄像头采集管廊视频数据;其次,利用OpenCV函数得到图像序列的帧,对获取的每一帧图像进行平滑滤波处理,进而减少噪声;第三,将图像颜色转为HSV颜色空间;第四,创建滑动条,以得到想要的颜色参数的阈值,从而得到图像的二值图像;第五,对二值图像进行形态学处理,以去除目标外的孤立点和二值图像中的噪声,从而得到最大连通的目标体;第六,绘制窗口将目标物体框出并进行数据叠加。优选地,所述第二步中是利用高斯滤波和中值滤波对获取的每一帧图像进行平滑滤波处理的。高斯滤波器是一个低通滤波器适合进行平滑滤波且比均值滤波的平滑效果更出色,而且边缘的保留效果也更好。由于图像在空间内的像素是缓慢变化的,邻近点的像素变化不会特别明显,但是随机的两个点的像素值就可能有很大的差距(也就是说空间上噪声点不相关),正是由于这个原因,高斯滤波在保留信号的情况下同时减少了噪声。中值滤波图像处理先将中心像素的正方形领域内像素求中值后再替换中间像素。均值滤波对大噪声图像(特别是有大的孤立点的图像)非常敏感,即使是少量存在的较大差异也会导致平均值的大幅波动,因此选择中值滤波可以避免这些大噪声的影响。优选地,所述第三步中的颜色空间转换是由RGB颜色空间转换为HSV颜色空间。RGB颜色空间是最常用的颜色空间,它由R(红)、G(绿)、B(蓝)三个通道颜色叠加而成,任何一种颜色都可以由三原色叠加得到,颜色F可以用表达式表示为F=R[F]+G[F]+B[F],其中R、G、B分别表示该颜色在三个通道的分量。HSV颜色空间的三个通道分别为H(色调)、S(饱和度)、V(亮度)。HSV相对于RGB来说更符合人类对于颜色的感觉,而且对于计算机来说也更加容易提取各通道的数值以便进行图像处理。优选地,所述第五步中是采用先腐蚀后膨胀及形态学中的开运算来对二值图像进行处理的。腐蚀是指将图像与规定大小的核进行卷积,得到局部最小值的操作。膨胀相当于腐蚀的反操作,膨胀操作计算的是核区域内像素的最大值。腐蚀缩小区域,膨胀扩展区域,腐蚀可以消除凸起,膨胀可以填补凹洞。腐蚀用来消除图像中的斑点噪声,将斑点腐蚀掉的同时保留图像中的大区域。膨胀用来找到图像中的连通区域。采用先腐蚀后膨胀的方法可以有效去除图像中的噪声与孤立小斑点的影响。优选地,所述第六步主要是通过以下步骤实现的:第一,通过python语言调用OpenCV库读取视频数据;第二,经过图像处理并框出检测目标;第三,用python向数据库发送请求;第四,将请求到的数据实时叠加到视频中。上述向视频中写数据使用的函数是Opencv库的putText()函数。本专利技术先对摄像头采集的视频数据进行分析,检测目标物体颜色并将目标物体框出;然后再从数据库调取相应数据实时叠加到视频信号,这样工作人员只需观察视频数据就能分析故障地点与故障原因,大大提高效率,节省时间。附图说明图1为本专利技术的流程示意图。具体实施方式以下结合附图和具体实施例对本专利技术进行详细描述,但不作为对本专利技术的限定。参照图1,本专利技术实施例一种基于OpenCV的管廊视频目标检测方法,主要包括以下步骤。第一,利用海康威视摄像头采集管廊视频数据。第二,利用OpenCV函数得到图像序列的帧,利用高斯滤波和中值滤波对获取的每一帧图像进行平滑滤波处理,进而减少噪声。高斯滤波器是一个低通滤波器适合进行平滑滤波且比均值滤波的平滑效果更出色,而且边缘的保留效果也更好。由于图像在空间内的像素是缓慢变化的,邻近点的像素变化不会特别明显,但是随机的两个点的像素值就可能有很大的差距(也就是说空间上噪声点不相关),正是由于这个原因,高斯滤波在保留信号的情况下同时减少了噪声。中值滤波图像处理先将中心像素的正方形领域内像素求中值后再替换中间像素。均值滤波对大噪声图像(特别是有大的孤立点的图像)非常敏感,即使是少量存在的较大差异也会导致平均值的大幅波动,因此选择中值滤波可以避免这些大噪声的影响。第三,将RGB图像颜色转为HSV颜色空间。本实施例采用海康威视摄像头读入RGB颜色,再将RGB颜色转换为HSV颜色。在OpenCV中RGB转换到HSV时,H通道的取值为[0,360],而OpenCV使用一个字节(8位,可以表示0到256)存储H通道,所以要将H取值压缩一倍为[0,180]。其余两个量的取值为[0,255]。RGB转换到HSV的算法如下:max=max(R,G,B);min=min(R,G,B);V=max(R,G,B);S=(max-min)/max;if(R=max)H=(G-B)/(max-min)*60;if(G=max)H=120+(B-R)/(max-min)*60;if(B=max)H=240+(R-G)/(max-min)*60;if(H<0)H=H+360。上述算法中,R、G、B为RGB颜色空间中的红绿蓝三通道分量,H、S、V为HSV颜色空间中的色度、饱和度、亮度三通道的分量。在python中使用OpenCV库的cvtColor函数实现。第四,创建滑动条,以得到想要的颜色参数的阈值,从而得到图像的二值图像。本实施例总共设置了6个可调节参数分别是Huemin,Satmin,Valmin,Huemax,Satmax,Valmax。通过以上设定的6个可调节参数得到它们的返回值从而得到检测目标的三通道数值区间。第五,采用先腐蚀后膨胀及形态学中的开运算对二值图像进行形态学处理,以去除目标外的孤立点和二值图像中的噪声,从而得到最大连通的目标体。腐蚀是指将图像与规定大小的核进行卷积,得到局部最小值的操作。它的数学公式为:dst(x,y)=min{src(x+x',y+y')},(x',y')∈kernel。式中dst表示输出,src表示输入,kernel表示膨胀或腐蚀的核矩阵,本实施例采用3x3大小的矩阵核。膨胀相当于腐蚀的反操作,膨胀操作计算的是核区域内像素的最大值。它的数学函数为:dst(x,y)=max{src(x+x',y+y')}。腐蚀缩小区域,膨胀扩展区域,腐蚀可以消除凸起,膨胀可以填补凹洞。腐蚀用来消除图本文档来自技高网...

【技术保护点】
1.一种基于OpenCV的管廊视频目标检测方法,其特征在于,主要包括以下步骤:首先,利用摄像头采集管廊视频数据;其次,利用OpenCV函数得到图像序列的帧,对获取的每一帧图像进行平滑滤波处理,进而减少噪声;第三,将图像颜色转为HSV颜色空间;第四,创建滑动条,以得到想要的颜色参数的阈值,从而得到图像的二值图像;第五,对二值图像进行形态学处理,以去除目标外的孤立点和二值图像中的噪声,从而得到最大连通的目标体;第六,绘制窗口将目标物体框出并进行数据叠加。

【技术特征摘要】
1.一种基于OpenCV的管廊视频目标检测方法,其特征在于,主要包括以下步骤:首先,利用摄像头采集管廊视频数据;其次,利用OpenCV函数得到图像序列的帧,对获取的每一帧图像进行平滑滤波处理,进而减少噪声;第三,将图像颜色转为HSV颜色空间;第四,创建滑动条,以得到想要的颜色参数的阈值,从而得到图像的二值图像;第五,对二值图像进行形态学处理,以去除目标外的孤立点和二值图像中的噪声,从而得到最大连通的目标体;第六,绘制窗口将目标物体框出并进行数据叠加。2.根据权利要求1所述的一种基于OpenCV的管廊视频目标检测方法,其特征在于,所述第二步中是利用高斯滤波和中值滤波对获取的每一帧图像进行平...

【专利技术属性】
技术研发人员:岑健许文凯李虎山伍银波刘溪胡联粤
申请(专利权)人:广东技术师范学院
类型:发明
国别省市:广东,44

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

1