一种基于多路视频监控的显示屏实时检测方法及系统
未命名
09-22
阅读:78
评论:0
1.本发明属于视频检测技术领域,具体涉及一种基于多路视频监控的显示屏实时检测方法及系统。
背景技术:
2.随着科技的发展,不同的材质和技术的显示器凭借其独特的优势,在广告宣传、演出现场、体育赛事、电商直播、大型会议等领域得到越来越广泛的应用,成为重要的信息传播工具。而在使用过程中,由于一些人为或非人为因素,如电力波动、环境温度等原因,显示屏可能会出现纯色显示、花屏等异常情况,这些异常情况不仅会影响显示效果和用户的体验,还会造成一定的经济损失。因此,需要对使用中的显示屏进行质量检测,及时发现显示屏的异常情况,从而保障信息传播效果、提升用户体验,以及确保场馆运营的安全性和稳定性。
3.使用人工的方式对多个显示屏进行同时监控,时间和空间上的局限性较高,有时还会出现一定的疏漏,效率较为低下。当场馆中的显示屏数量较多时,需要更多的管理人员来进行监控,人力资源成本也随之提高。因此,可以通过智能化技术手段使管理人员准确高效地对场馆中的所有显示屏进行监控,检测系统可以快速发现显示屏出现的问题,通过告警使管理人员采取相应的措施进行处理,进而减少因故障导致的影响和损失。同时,检测系统可以收集各种异常情况的数据,管理人员可以进行分析和处理,及时调整监控策略,提高显示屏的维护效率和成本效益,从而提升管理水平。
4.近年来,许多文献研究了屏幕质量的检测方法,如中国专利文献cn115187534a公开了“一种机器人屏幕检测方法、装置、设备及介质”;提出了一种对机器人的显示屏幕进行的质量检测的方法。该方法没有涉及到如何对多个屏幕同时进行检测,而且没有较为直观地展示屏幕显示内容与检测结果,具有一定的局限性。
技术实现要素:
5.为克服现有技术中存在的不足,本发明提出了一种基于多路视频监控的显示屏实时检测方法及系统,以实现对场馆中的所有显示屏进行实时检测,并将检测结果可视化展示,方便管理人员进行管理,从而确保显示屏的正常使用。
6.术语解释:
7.qt开发可视化系统,qt是一款跨平台的c++应用程序开发框架,提供了丰富的图形界面和功能库,可以用于开发gui应用程序。qt开发可视化系统指使用qt框架进行开发的具有图形界面的应用程序或系统,其提供了一系列的可视化控件和布局管理器,能够方便地实现各种复杂的界面效果。同时,qt还提供了强大的信号槽机制和多线程支持,使得开发者可以高效地开发出各种功能丰富、响应速度快的可视化系统。本发明提出了一种基于qt的可视化系统,可以实时检测出显示屏的异常,并将检测结果可视化展示,同时可以将异常记录等信息保存在本地,方便管理人员进行管理。
8.本发明采用的技术方案如下:
9.一种基于多路视频监控的显示屏实时检测方法,包括:
10.采集多路视频流;
11.从每一路视频流中采集待测帧图像;
12.从待测帧图像中的多个屏幕的显示图像提取待检测屏幕图像;
13.对每一个待检测屏幕图像进行异常检测,判断是否出现故障情况;
14.其中,对每一个待检测屏幕图像进行异常检测,判断是否出现故障情况,包括:灰度化处理、滤波、计算均值及方差,如果阈值小于方差,则判断没有出现故障情况,否则,出现故障情况。
15.根据本发明优选的,基于多路视频监控的显示屏实时检测方法中,还包括:
16.界面展示,具体是指:将摄像头拍摄的会场实时监控的视频流、提取的待检测屏幕图像以及异常检测结果展示在qt界面上。
17.根据本发明优选的,基于多路视频监控的显示屏实时检测方法中,还包括:
18.记录存储,包括:对屏幕出现的故障情况进行记录,同时将采集的视频流保存在本地,定期自动删除。
19.根据本发明优选的,对每一个待检测屏幕图像进行异常检测,判断是否出现故障情况,具体包括:
20.1)对每一个待检测屏幕图像y
lk
进行灰度化处理,得到第k个灰度化的待检测屏幕图像z
lk
,l=1,2,...,s,k=1,2,
…
,n
l
,n
l
为m
l
中的显示屏总个数;
21.2)使用prewitt算子对待测图像z
lk
进行滤波,得到对应得滤波图像z
lk
',计算公式如式(i)所示:
[0022][0023]
式(i)中,*表示卷积操作,abs()表示对矩阵中所有元素取绝对值的运算,符号[]用于表示二维矩阵;
[0024]
3)计算滤波后图像z
lk
'的均值,计算公式如式(ii)所示:
[0025][0026]
式(ii)中,为图像z
lk
'的均值,row(z
lk
')与col(z
lk
')分别表示图像的行数与列数,z
lk
'(i,j)表示图像z
lk
'中点(i,j)处的灰度值;
[0027]
4)计算滤波后图像z
lk
'的方差,计算公式如式(iii)所示:
[0028][0029]
式(iii)中,为图像z
lk
'的方差;
[0030]
5)设置阈值th
var
,若则判定该图像代表的屏幕没有出现异常情况;若
则判定该屏幕出现了异常情况。
[0031]
进一步优选的,阈值th
var
的取值为50-100。
[0032]
根据本发明优选的,采集多路视频流;包括:
[0033]
6)根据各个显示屏的所在区域,在s个固定位置安装监控摄像头采集该处的视频信号;
[0034]
7)将多个监控摄像头通过网线连接至视频矩阵的输入端;
[0035]
8)通过视频采集卡将视频矩阵的输出端与计算机的输入端相连接,完成多路视频流的采集;
[0036]
9)将多路视频流进行展示;
[0037]
10)将多路视频流进行保存。
[0038]
根据本发明优选的,从每一路视频流中采集待测帧图像,包括:
[0039]
对第l路视频流,按固定的时间间隔进行关键帧采集,获得第l路视频流中采集的待检测帧图像m
l
,l=1,2,...,s;关键帧间隔t
gap
的计算公式如式(iv)所示:
[0040][0041]
式(iv)中,f
viedo
为当前视频流的帧率,单位为帧/秒。
[0042]
根据本发明优选的,从待测帧图像中的多个屏幕的显示图像提取待检测屏幕图像,包括:
[0043]
11)根据每个显示屏在待检测帧图像m
l
中的固定位置,将第k个屏幕显示图像x
lk
分别从m
l
中截取出来,k=1,2,
…
,n
l
,n
l
为m
l
中的显示屏总个数;
[0044]
12)利用透视变化法对屏幕显示图像x
lk
进行矫正,获取由屏幕显示图像x
lk
矫正后的第k个待检测屏幕图像y
lk
,包括:
[0045]
设屏幕显示图像x
lk
在待检测帧图像m
l
中四个顶点坐标从左上角按顺时针依次为(m1,n1)、(m2,n2)、(m3,n3)、(m4,n4),透视变换矩阵h如式(v)所示:
[0046][0047]
式(v)中,a、b、c分别表示变换后图像在x轴方向上的缩放、切变和平移程度;d、e、f分别表示变换后图像在y轴方向上的缩放、切变和平移程度;g表示变换后图像在深度方向上的扭曲程度;h表示变换后图像在深度方向上的透视变换程度;
[0048]
矫正后的待检测屏幕图像y
lk
的四个顶点坐标从左上角按顺时针依次为(0,0)、(d
x
,0)、(d
x
,dy)、(0,dy),其中,d
x
与dy的计算公式如式(vi)、式(vii)所示:
[0049]dx
=max{m1,m2,m3,m4}-min{m1,m2,m3,m4}(vi)
[0050]dy
=max{n1,n2,n3,n4}-min{n1,n2,n3,n4}(vii)
[0051]
确定矩阵h的具体参数,如式(viii)所示:
[0052][0053]
对以上线性方程进行求解,即确定矩阵h中a、b、c、d、e、f、g、h的具体数值;设(u,v)为x
lk
中某像素点坐标,通过式(ix)计算得到一个新的坐标(x,y,w),如式(ix)所示:
[0054][0055]
将其坐标归一化以确保图像的尺度正确,如式(x)所示:
[0056][0057]
式(x)中,(x',y')即为透视变换后x
lk
中某像素点在y
lk
中的坐标;
[0058]
对x
lk
中的所有像素点进行如上的坐标变换,即得到待检测屏幕图像y
lk
,l=1,2,...,s,k=1,2,
…
,n
l
,n
l
为m
l
中的显示屏总个数。
[0059]
根据本发明优选的,采集多路视频流,从每一路视频流中采集待测帧图像;包括:使用qt开发可视化系统中的多线程机制,创建s个视频流获取子线程getvideo1、getvideo2、
…
、getvideos,用于实现对s路视频流的实时获取、参数设置和本地保存;并将这s路视频流发送到主界面进行播放,同时实现对每一路视频流中待检测帧图像的关键帧采集;
[0060]
从待测帧图像中的多个屏幕的显示图像提取待检测屏幕图像,包括:创建s个提取待检测屏幕图像子线程getscreenimg1、getscreenimg2、
…
、getscreenimgs,用于接收视频流获取子线程发送的待检测帧图像,进行屏幕画面的提取,并通过透视变换进行矫正,得到待检测屏幕图像,同时将待测屏幕图像送到主界面实时显示;
[0061]
对每一个待检测屏幕图像进行异常检测,判断是否出现故障情况,包括:创建s个质量检测子线程detectvideo1、detectvideo2、
…
、detectvideos,用于实现分别对s路视频流提取出的待检测屏幕图像进行质量检测,判断屏幕是否出现异常情况,并将检测结果送到主界面进行可视化呈现。
[0062]
进一步优选的,采用异常记录存储子线程abnormalwrite,用于接收所有质量检测子线程发送的异常检测结果,同时将出现异常的时间、地点、设备、显示画面和当前管理人员一并写入sql数据库中;
[0063]
采用删除本地记录子线程videoautodelete,用于查看保存在本地文件夹中的
excel文件和视频文件的创建日期,并与当前日期作比较,保存时间超过30天自动删除该文件;
[0064]
一种基于多路视频监控的显示屏实时检测系统,包括:视频流采集模块、关键帧采集模块、屏幕图像提取模块、质量检测模块、界面显示模块和记录存储模块;
[0065]
视频流采集模块,用于采集多路视频流;
[0066]
关键帧采集模块,用于从每一路视频流中采集待测帧图像;
[0067]
屏幕图像提取模块,用于从待测帧图像中的多个屏幕的显示图像提取待检测屏幕图像;
[0068]
质量检测模块,用于对每一个待检测屏幕图像进行异常检测,判断是否出现故障情况;
[0069]
界面展示模块,用于将摄像头拍摄的会场实时监控画面、屏幕的显示画面以及异常检测结果展示在qt界面上。
[0070]
记录存储模块,用于对屏幕出现的故障情况进行记录,同时将采集的视频流保存在本地,定期自动删除。
[0071]
本发明的有益效果为:
[0072]
1、本发明可以实时获取多路视频流,并对视频流中的所有显示屏进行质量检测,判断其是否出现异常情况;
[0073]
2、本发明可以将检测结果直观显示,并实现声光报警,提醒管理人员及时进行处理;
[0074]
3、本发明可以将获取的视频流、显示屏异常情况等记录在本地,并定期自动删除,提升管理水平。
附图说明
[0075]
图1为本发明基于多路视频监控的显示屏实时检测系统的结构示意图;
[0076]
图2为本发明的屏幕质量检测结果的展示界面示意图;
[0077]
图3为本发明的异常记录的界面示意图;
[0078]
图4为某一路视频流中的待检测帧图像示例一的示意图;
[0079]
图5为某一路视频流中的待检测帧图像示例二的示意图;
[0080]
图6为某一路视频流中的待检测帧图像示例三的示意图;
[0081]
图7为从图4中提取的待检测屏幕图像一的示意图;
[0082]
图8为从图4中提取的待检测屏幕图像二的示意图;
[0083]
图9为从图5中提取的待检测屏幕图像一的示意图;
[0084]
图10为从图5中提取的待检测屏幕图像二的示意图;
[0085]
图11为从图6中提取的待检测屏幕图像一的示意图;
[0086]
图12为从图6中提取的待检测屏幕图像二的示意图。
具体实施方式
[0087]
下面结合说明书附图和实施例对本发明作进一步说明,但不限于此。
[0088]
实施例1
[0089]
一种基于多路视频监控的显示屏实时检测方法,包括:
[0090]
采集多路视频流;
[0091]
从每一路视频流中采集待测帧图像;
[0092]
从待测帧图像中的多个屏幕的显示图像提取待检测屏幕图像;
[0093]
对每一个待检测屏幕图像进行异常检测,判断是否出现故障情况;
[0094]
其中,对每一个待检测屏幕图像进行异常检测,判断是否出现故障情况,包括:灰度化处理、滤波、计算均值及方差,如果阈值小于方差,则判断没有出现故障情况,否则,出现故障情况。
[0095]
实施例2
[0096]
根据实施例1所述的一种基于多路视频监控的显示屏实时检测方法,其区别在于:
[0097]
基于多路视频监控的显示屏实时检测方法中,还包括:
[0098]
界面展示,具体是指:将摄像头拍摄的会场实时监控的视频流、提取的待检测屏幕图像以及异常检测结果展示在qt界面上。
[0099]
记录存储,包括:对屏幕出现的故障情况进行记录,同时将采集的视频流保存在本地,定期自动删除。
[0100]
实施例3
[0101]
根据实施例1所述的一种基于多路视频监控的显示屏实时检测方法,其区别在于:
[0102]
对每一个待检测屏幕图像进行异常检测,判断是否出现故障情况,具体包括:
[0103]
1)对每一个待检测屏幕图像y
lk
进行灰度化处理,得到第k个灰度化的待检测屏幕图像z
lk
,l=1,2,...,s,k=1,2,
…
,n
l
,n
l
为m
l
中的显示屏总个数;
[0104]
2)使用prewitt算子对待测图像z
lk
进行滤波,得到对应得滤波图像z
lk
',计算公式如式(i)所示:
[0105][0106]
式(i)中,*表示卷积操作,abs()表示对矩阵中所有元素取绝对值的运算,符号[]用于表示二维矩阵;
[0107]
3)计算滤波后图像z
lk
'的均值,计算公式如式(ii)所示:
[0108][0109]
式(ii)中,为图像z
lk
'的均值,row(z
lk
')与col(z
lk
')分别表示图像的行数与列数,z
lk
'(i,j)表示图像z
lk
'中点(i,j)处的灰度值;
[0110]
4)计算滤波后图像z
lk
'的方差,计算公式如式(iii)所示:
[0111][0112]
式(iii)中,为图像z
lk
'的方差;
[0113]
5)设置阈值th
var
,若则判定该图像代表的屏幕没有出现异常情况;若
则判定该屏幕出现了异常情况。阈值th
var
的取值为50-100。主要用于区分正常图像和异常图像,可根据现场环境进行测试后调整。
[0114]
采集多路视频流;包括:
[0115]
6)根据各个显示屏的所在区域,在s个固定位置安装海康威视监控摄像头采集该处的视频信号;
[0116]
7)将多个监控摄像头通过网线连接至视频矩阵的输入端;视频矩阵是指通过阵列切换的方法将m路视频信号任意输出至n路监控设备上的电子装置;
[0117]
8)通过视频采集卡将视频矩阵的输出端与计算机的输入端相连接,完成多路视频流的采集;
[0118]
9)将多路视频流传输到界面显示模块进行展示;
[0119]
10)将多路视频流传输到记录存储模块进行保存。
[0120]
从每一路视频流中采集待测帧图像,包括:
[0121]
对第l路视频流,按固定的时间间隔进行关键帧采集,获得第l路视频流中采集的待检测帧图像m
l
,l=1,2,...,s;关键帧间隔t
gap
的计算公式如式(iv)所示:
[0122][0123]
式(iv)中,f
viedo
为当前视频流的帧率,单位为帧/秒。
[0124]
从待测帧图像中的多个屏幕的显示图像提取待检测屏幕图像,包括:
[0125]
11)根据每个显示屏在待检测帧图像m
l
中的固定位置,将第k个屏幕显示图像x
lk
分别从m
l
中截取出来,k=1,2,
…
,n
l
,n
l
为m
l
中的显示屏总个数;
[0126]
12)直接截取出的图像会存在一定的畸变从而影响检测结果,所以利用透视变化法对屏幕显示图像x
lk
进行矫正,获取由屏幕显示图像x
lk
矫正后的第k个待检测屏幕图像y
lk
,包括:
[0127]
设屏幕显示图像x
lk
在待检测帧图像m
l
中四个顶点坐标从左上角按顺时针依次为(m1,n1)、(m2,n2)、(m3,n3)、(m4,n4),透视变换矩阵h如式(v)所示:
[0128][0129]
式(v)中,a、b、c分别表示变换后图像在x轴方向上的缩放、切变和平移程度;d、e、f分别表示变换后图像在y轴方向上的缩放、切变和平移程度;g表示变换后图像在深度方向上的扭曲程度;h表示变换后图像在深度方向上的透视变换程度;
[0130]
矫正后的待检测屏幕图像y
lk
的四个顶点坐标从左上角按顺时针依次为(0,0)、(d
x
,0)、(d
x
,dy)、(0,dy),其中,d
x
与dy的计算公式如式(vi)、式(vii)所示:
[0131]dx
=max{m1,m2,m3,m4}-min{m1,m2,m3,m4}(vi)
[0132]dy
=max{n1,n2,n3,n4}-min{n1,n2,n3,n4}(vii)
[0133]
确定矩阵h的具体参数,如式(viii)所示:
[0134][0135]
对以上线性方程进行求解,即确定矩阵h中a、b、c、d、e、f、g、h的具体数值;设(u,v)为x
lk
中某像素点坐标,通过式(ix)计算得到一个新的坐标(x,y,w),如式(ix)所示:
[0136][0137]
由于原始图像x
lk
为二维图像,没有z轴上的维度,所以设置为1,但经过变换后的图像为三维图像,所以将其坐标归一化以确保图像的尺度正确,如式(x)所示:
[0138][0139]
式(x)中,(x',y')即为透视变换后x
lk
中某像素点在y
lk
中的坐标;
[0140]
对x
lk
中的所有像素点进行如上的坐标变换,即得到待检测屏幕图像y
lk
,l=1,2,...,s,k=1,2,
…
,n
l
,n
l
为m
l
中的显示屏总个数。
[0141]
采集多路视频流,从每一路视频流中采集待测帧图像;包括:使用qt开发可视化系统中的多线程机制,创建s个视频流获取子线程getvideo1、getvideo2、
…
、getvideos,用于实现对s路视频流的实时获取、参数设置和本地保存;并将这s路视频流发送到主界面进行播放,同时实现对每一路视频流中待检测帧图像的关键帧采集;
[0142]
从待测帧图像中的多个屏幕的显示图像提取待检测屏幕图像,包括:创建s个提取待检测屏幕图像子线程getscreenimg1、getscreenimg2、
…
、getscreenimgs,用于接收视频流获取子线程发送的待检测帧图像,进行屏幕画面的提取,并通过透视变换进行矫正,得到待检测屏幕图像,同时将待测屏幕图像送到主界面实时显示;
[0143]
对每一个待检测屏幕图像进行异常检测,判断是否出现故障情况,包括:创建s个质量检测子线程detectvideo1、detectvideo2、
…
、detectvideos,用于实现分别对s路视频流提取出的待检测屏幕图像进行质量检测,判断屏幕是否出现异常情况,并将检测结果送到主界面进行可视化呈现。
[0144]
采用异常记录存储子线程abnormalwrite,用于接收所有质量检测子线程发送的异常检测结果,同时将出现异常的时间、地点、设备、显示画面和当前管理人员一并写入sql数据库中;
[0145]
采用删除本地记录子线程videoautodelete,用于查看保存在本地文件夹中的
excel文件和视频文件的创建日期,并与当前日期作比较,保存时间超过30天自动删除该文件;
[0146]
使用qt creator设计主界面,界面上实时播放多路视频流与其中的显示屏画面,并将各个屏幕的检测结果转换成文字颜色的形式进行显示,若检测结果正常,相应屏幕的文字显示为绿色;若检测结果异常,则其文字显示为红色,同时系统也会发出“警报”声音实现报警功能;添加多个“开始”与“结束”按钮控制对各路视频流的检测,添加“声音开/关”按钮实现控制报警声音的开始与关闭;当场馆中的显示器较多时,可以添加多个检测界面来实现对显示器的检测;屏幕质量检测结果如图2所示。
[0147]
设计“异常记录”界面,用于以表单的形式展示sql数据库中记录的数据,并添加功能钮实现对表单中的数据的进行操作;添加“导出本地”按钮实现将表单导出为excel文件到本地;添加“查看本地文件”按钮,实现弹出存放excel和视频文件的文件夹。异常记录的界面如图3所示。
[0148]
记录存储,包括:
[0149]
使用opencv提供的videowriter()函数将各路视频流以拍摄地点加当前时间命名保存在本地文件夹中;
[0150]
使用insert函数将每条检测异常记录写入sql数据库中;
[0151]
在记录存储模块中使用qtxlsxwriter库提供的qxlsx::document函数,将excel文件创建至本地文件夹中,以当前日期与时间作为文件名;
[0152]
使用qtxlsxwriter库提供的qxlsx::write函数,在excel表格中创建4列表单项,分别为“时间”、“地点”、“故障设备”、“故障画面”和“管理人”;
[0153]
将sql数据库中的每一条检测记录,通过使用qtxlsxwriter库提供的qxlsx::saveas函数,将其插入到excel表格中并保存。
[0154]
图4为某一路视频流中的待检测帧图像示例一的示意图;图5为某一路视频流中的待检测帧图像示例二的示意图;图6为某一路视频流中的待检测帧图像示例三的示意图;图7为从图4中提取的待检测屏幕图像一的示意图;图8为从图4中提取的待检测屏幕图像二的示意图;图9为从图5中提取的待检测屏幕图像一的示意图;图10为从图5中提取的待检测屏幕图像二的示意图;图11为从图6中提取的待检测屏幕图像一的示意图;图12为从图6中提取的待检测屏幕图像二的示意图。计算的方差结果如表1所示:
[0155]
表1
[0156]
图像类型方差图7正常173.31图8异常5.07图9正常337.76图10异常8.68图11异常18.58图12正常186.61
[0157]
根据此样本,异常图像计算出的方差显著小于正常图像,若阈值设置为50,即可区分出正常图像与异常图像;
[0158]
实施例4
[0159]
一种基于多路视频监控的显示屏实时检测系统,如图1所示,包括:视频流采集模块、关键帧采集模块、屏幕图像提取模块、质量检测模块、界面显示模块和记录存储模块;
[0160]
视频流采集模块,用于采集多路视频流;
[0161]
关键帧采集模块,用于从每一路视频流中采集待测帧图像;
[0162]
屏幕图像提取模块,用于从待测帧图像中的多个屏幕的显示图像提取待检测屏幕图像;
[0163]
质量检测模块,用于对每一个待检测屏幕图像进行异常检测,判断是否出现故障情况;
[0164]
界面展示模块,用于将摄像头拍摄的会场实时监控画面、屏幕的显示画面以及异常检测结果展示在qt界面上。
[0165]
记录存储模块,用于对屏幕出现的故障情况进行记录,同时将采集的视频流保存在本地,定期自动删除。
技术特征:
1.一种基于多路视频监控的显示屏实时检测方法,其特征在于,包括:采集多路视频流;从每一路视频流中采集待测帧图像;从待测帧图像中的多个屏幕的显示图像提取待检测屏幕图像;对每一个待检测屏幕图像进行异常检测,判断是否出现故障情况;其中,对每一个待检测屏幕图像进行异常检测,判断是否出现故障情况,包括:灰度化处理、滤波、计算均值及方差,如果阈值小于方差,则判断没有出现故障情况,否则,出现故障情况。2.根据权利要求1所述的一种基于多路视频监控的显示屏实时检测方法,其特征在于,基于多路视频监控的显示屏实时检测方法中,还包括:界面展示,具体是指:将摄像头拍摄的会场实时监控的视频流、提取的待检测屏幕图像以及异常检测结果展示在qt界面上。3.根据权利要求1所述的一种基于多路视频监控的显示屏实时检测方法,其特征在于,基于多路视频监控的显示屏实时检测方法中,还包括:记录存储,包括:对屏幕出现的故障情况进行记录,同时将采集的视频流保存在本地,定期自动删除。4.根据权利要求1所述的一种基于多路视频监控的显示屏实时检测方法,其特征在于,对每一个待检测屏幕图像进行异常检测,判断是否出现故障情况,具体包括:1)对每一个待检测屏幕图像y
lk
进行灰度化处理,得到第k个灰度化的待检测屏幕图像z
lk
,l=1,2,...,s,k=1,2,
…
,n
l
,n
l
为m
l
中的显示屏总个数;2)使用prewitt算子对待测图像z
lk
进行滤波,得到对应得滤波图像z
lk
',计算公式如式(i)所示:式(i)中,*表示卷积操作,abs()表示对矩阵中所有元素取绝对值的运算,符号[]用于表示二维矩阵;3)计算滤波后图像z
lk
'的均值,计算公式如式(ii)所示:式(ii)中,为图像z
lk
'的均值,row(z
lk
')与col(z
lk
')分别表示图像的行数与列数,z
lk
'(i,j)表示图像z
lk
'中点(i,j)处的灰度值;4)计算滤波后图像z
lk
'的方差,计算公式如式(iii)所示:式(iii)中,为图像z
lk
'的方差;
5)设置阈值th
var
,若则判定该图像代表的屏幕没有出现异常情况;若则判定该屏幕出现了异常情况;进一步优选的,阈值th
var
的取值为50-100。5.根据权利要求1所述的一种基于多路视频监控的显示屏实时检测方法,其特征在于,采集多路视频流;包括:6)根据各个显示屏的所在区域,在s个固定位置安装监控摄像头采集该处的视频信号;7)将多个监控摄像头通过网线连接至视频矩阵的输入端;8)通过视频采集卡将视频矩阵的输出端与计算机的输入端相连接,完成多路视频流的采集;9)将多路视频流进行展示;10)将多路视频流进行保存。6.根据权利要求1所述的一种基于多路视频监控的显示屏实时检测方法,其特征在于,从每一路视频流中采集待测帧图像,包括:对第l路视频流,按固定的时间间隔进行关键帧采集,获得第l路视频流中采集的待检测帧图像m
l
,l=1,2,...,s;关键帧间隔t
gap
的计算公式如式(iv)所示:式(iv)中,f
viedo
为当前视频流的帧率,单位为帧/秒。7.根据权利要求1所述的一种基于多路视频监控的显示屏实时检测方法,其特征在于,从待测帧图像中的多个屏幕的显示图像提取待检测屏幕图像,包括:11)根据每个显示屏在待检测帧图像m
l
中的固定位置,将第k个屏幕显示图像x
lk
分别从m
l
中截取出来,k=1,2,
…
,n
l
,n
l
为m
l
中的显示屏总个数;12)利用透视变化法对屏幕显示图像x
lk
进行矫正,获取由屏幕显示图像x
lk
矫正后的第k个待检测屏幕图像y
lk
,包括:设屏幕显示图像x
lk
在待检测帧图像m
l
中四个顶点坐标从左上角按顺时针依次为(m1,n1)、(m2,n2)、(m3,n3)、(m4,n4),透视变换矩阵h如式(v)所示:式(v)中,a、b、c分别表示变换后图像在x轴方向上的缩放、切变和平移程度;d、e、f分别表示变换后图像在y轴方向上的缩放、切变和平移程度;g表示变换后图像在深度方向上的扭曲程度;h表示变换后图像在深度方向上的透视变换程度;矫正后的待检测屏幕图像y
lk
的四个顶点坐标从左上角按顺时针依次为(0,0)、(d
x
,0)、(d
x
,d
y
)、(0,d
y
),其中,d
x
与d
y
的计算公式如式(vi)、式(vii)所示:d
x
=max{m1,m2,m3,m4}-min{m1,m2,m3,m4} (vi)d
y
=max{n1,n2,n3,n4}-min{n1,n2,n3,n4} (vii)确定矩阵h的具体参数,如式(viii)所示:
对以上线性方程进行求解,即确定矩阵h中a、b、c、d、e、f、g、h的具体数值;设(u,v)为x
lk
中某像素点坐标,通过式(ix)计算得到一个新的坐标(x,y,w),如式(ix)所示:将其坐标归一化以确保图像的尺度正确,如式(x)所示:式(x)中,(x',y')即为透视变换后x
lk
中某像素点在y
lk
中的坐标;对x
lk
中的所有像素点进行如上的坐标变换,即得到待检测屏幕图像y
lk
,l=1,2,...,s,k=1,2,
…
,n
l
,n
l
为m
l
中的显示屏总个数。8.根据权利要求1-7任一所述的一种基于多路视频监控的显示屏实时检测方法,其特征在于,采集多路视频流,从每一路视频流中采集待测帧图像;包括:使用qt开发可视化系统中的多线程机制,创建s个视频流获取子线程getvideo1、getvideo2、
…
、getvideos,用于实现对s路视频流的实时获取、参数设置和本地保存;并将这s路视频流发送到主界面进行播放,同时实现对每一路视频流中待检测帧图像的关键帧采集;从待测帧图像中的多个屏幕的显示图像提取待检测屏幕图像,包括:创建s个提取待检测屏幕图像子线程getscreenimg1、getscreenimg2、
…
、getscreenimgs,用于接收视频流获取子线程发送的待检测帧图像,进行屏幕画面的提取,并通过透视变换进行矫正,得到待检测屏幕图像,同时将待测屏幕图像送到主界面实时显示;对每一个待检测屏幕图像进行异常检测,判断是否出现故障情况,包括:创建s个质量检测子线程detectvideo1、detectvideo2、
…
、detectvideos,用于实现分别对s路视频流提取出的待检测屏幕图像进行质量检测,判断屏幕是否出现异常情况,并将检测结果送到主界面进行可视化呈现。9.根据权利要求8所述的一种基于多路视频监控的显示屏实时检测方法,其特征在于,采用异常记录存储子线程abnormalwrite,用于接收所有质量检测子线程发送的异常检测结果,同时将出现异常的时间、地点、设备、显示画面和当前管理人员一并写入sql数据库中;
采用删除本地记录子线程videoautodelete,用于查看保存在本地文件夹中的excel文件和视频文件的创建日期,并与当前日期作比较,保存时间超过若干天后自动删除该文件。10.一种基于多路视频监控的显示屏实时检测系统,其特征在于,包括:视频流采集模块、关键帧采集模块、屏幕图像提取模块、质量检测模块、界面显示模块和记录存储模块;视频流采集模块,用于采集多路视频流;关键帧采集模块,用于从每一路视频流中采集待测帧图像;屏幕图像提取模块,用于从待测帧图像中的多个屏幕的显示图像提取待检测屏幕图像;质量检测模块,用于对每一个待检测屏幕图像进行异常检测,判断是否出现故障情况;界面展示模块,用于将摄像头拍摄的会场实时监控画面、屏幕的显示画面以及异常检测结果展示在qt界面上;记录存储模块,用于对屏幕出现的故障情况进行记录,同时将采集的视频流保存在本地,定期自动删除。
技术总结
本发明涉及一种基于多路视频监控的显示屏实时检测方法及系统,包括:通过视频流采集模块捕获多路实时监控视频流并传输至计算机端;通过关键帧采集模块对每一路视频流按固定的时间间隔进行关键帧采集,获取待检测帧图像;通过屏幕图像提取模块获取待检测帧图像中的多个屏幕的显示图像;使用质量检测模块对显示图像进行质量检测,判断其是否出现纯色显示、花屏等坏损情况;利用Qt开发平台,将检测结果、监控视频、屏幕显示图像输出至界面显示模块和记录存储模块,实现声光报警、可视化展示与本地存储功能。本发明可实时监控场景中的多个显示屏,准确高效地对屏幕进行异常检测并将结果直观显示,从而确保显示屏的正常使用。从而确保显示屏的正常使用。从而确保显示屏的正常使用。
技术研发人员:马丕明 布什 张文胜
受保护的技术使用者:山东大学
技术研发日:2023.06.25
技术公布日:2023/9/20
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
航空商城 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/