视频图像质量诊断
视频图像质量诊断有哪些原理,视频图像质量诊断有哪些算法?
视频图像质量诊断技术支持对视频黑屏、视频干扰、视频卡顿、视频遮挡、亮度异常、图像偏色、视频模糊、视频冻结、视频抖动、场景变更、无字符叠加等20种视频图像质量异常进行诊断,保障监控系统持续正常工作。
1、视频质量诊断----亮度异常检测
亮度异常检测般包括偏暗检测和偏亮检测,也有称过暗过亮检测.这算法简单,只需要帧图像的亮度值作为判断就行.
原理
把彩色图像转化为灰度图像
求图像的平均灰度值G(整幅或ROI区域),该值就是图像的亮度值
定义阈值A,B.当G∈[0,A]认为图像偏暗,当G∈[B,255]认为图像偏亮
2、视频质量诊断----色度异常检测
色度异常检测般称为偏色检测.即图像为某范围颜色值分布过多而导致图像整体偏色的情况.
原理
提取图像的色度分量H
计算色度分量H的直方图
求最方图最大bin占整个直方图的比例,该比例值就为偏色值
3、视频质量诊断----条纹噪声检测
条纹噪声是带条状的噪声.
原理
提取彩色图像的色度分量.
对色度分量求DFT频谱图.
计算频谱图的异常亮点数,若大于A则认为发生条纹检测.
4、视频质量诊断----遮挡检测
遮挡检测般是摄像头被异物遮挡,呈现出整个场景或某部分场景看不到的情况.被遮挡住的部分般都呈偏黑色.
原理
把彩色图像值化,偏黑的部分为前景,其他部分为背景.
对前景进行连通区域检测,求得最大连通区域面积.
该面积整幅图像面积的比较即为遮挡率.
5、视频质量诊断----信号丢失检测
信号丢失检测也称无信号检测,般当DVR/NVR某些通道没接上摄像头时,会显示黑屏无信号.而IPC无信号里无法返回任何图像信息,也就无法通过图像算法检测到.
原理
把彩色图像值化,偏黑的部分为前景,其他部分为背景.
对前景进行连通区域检测,求得最大连通区域面积.
该面积整幅图像面积的比较即为信号丢失率.
6、视频质量诊断----模糊检测
模糊般是摄像头焦距没调好造成的画面模糊.
原理
把图像分割成N*M的区域.
求每个区域的对比度:(max-min)/max.
求总的平均对比度即为模糊率.
7、视频质量诊断----画面抖动检测
当摄像头立杆不稳或因车辆引起地面振动时,视频画面就会发生抖动.
原理
每隔N帧取帧.
对取到的每帧进行特征点提取.
对检测的相邻2帧进行特征点匹配.
得到匹配矩阵,当匹配矩阵大于A时认为这2帧画面有抖动.
当抖动帧数大于B时认为画面发生抖动.
8、视频质量诊断----雪花噪声检测
雪花噪声即椒盐噪声,以前黑白电视常见的噪声现象.
原理
准备0°,45°,90°,135°4个方向的卷积模板.
用图像先和四个模板做卷积,用四个卷积绝对值最小值Min来检测噪声点.
求灰度图gray与其中值滤波图median.
判断噪声点:fabs(median-gray)>10&&min>0.1.
噪声点占整幅图像的比较即为雪花噪声率.
9、视频质量诊断----信号丢失检测
信号丢失检测也称无信号检测,般当DVR/NVR某些通道没接上摄像头时,会显示黑屏无信号.而IPC无信号里无法返回任何图像信息,也就无法通过图像算法检测到.
原理
把彩色图像值化,偏黑的部分为前景,其他部分为背景.
对前景进行连通区域检测,求得最大连通区域面积.
该面积整幅图像面积的比较即为信号丢失率.
10、视频质量诊断----PTZ云台运动检测
PTZ云台运动检测是通过配合云台运动的功能检测云台运动是否正常.
原理
取云台运动前N帧图像,进行背景建模,得到运动前背景A.
设备发送云台运动指令,让云台进行运动,改变场景.
取云台运动后N帧图像,进行背景建模,得到运动后背景B.
对比A,B颜色直方图的相似度,大于K时认为PTZ云台运动有故障.
11、视频质量诊断----画面冻结检测
画面冻结是由于画面场景没有变化,而仅仅是画面中的时间有变化的情况.此现象需要多帧图像才能检测出来.
原理
每隔T帧从视频中取帧(防止相邻帧太相似引起误检).
对所取的每帧求直方图.
求相邻2帧直方图的相似度.
当相似度大于A时认为帧致,当致的帧达到B时认为画面发生冻结.
二、视频图像质量诊断有哪些算法
1、亮度过亮异常检测:
功能说明:
由于前端摄像机照明异常、增益控制失效、摄像机故障或人为遮挡等引起的画面整体发白(有刺眼感),目标物体轮廓不清晰,整体画面过亮的现象.
算法解决原理:
把图像先进行灰度处理,之后计算图像的平均亮度即可,亮度大于一定阈值,则报警.
2、亮度过暗异常检测:
功能说明:
由于前端摄像机照明异常、增益控制失效、摄像机故障或人为遮挡等引起的画面整体偏黑,目标物体轮廓不清晰,整体画面过暗的现象.
算法解决原理:
把图像先进行灰度处理,之后计算图像的平均亮度即可,亮度小于一定阈值,则报警.
3、对比度异常检测:
功能说明:
由于前端摄像机线路故障、参数错误或其他摄像机故障等原因,所引起视频画面整体亮度跨度范围小、颜色饱和度低而造成的对比度异常的现象.
算法解决原理:
先计算图片在灰度图上的均值和方差,当存在亮度异常时,均值会偏离均值点(可以假设为128),方差也会偏小,通过计算灰度图的均值和方差,就可评估图像是否存在对比度异常情况.
4、偏色异常检测:
功能说明:
由于前端摄像机线路接触不良、外部干扰或摄像机故障等原因,所引起视频中的画面偏色的现象.
算法解决原理:
把RGB图像转化成YUV图像,计算U分量和V分量的比值,从而得出色差的偏移量.
5、清晰度异常检测:
功能说明:
由于前端摄像机视频中聚焦不当,异物遮挡等原因,所引起的画面视野图像模糊的现象.
算法解决原理:
把彩色图像转化为灰度图像,对灰度图像的做边缘检测,本文采用sobel算子做处理,计算边缘的平均值,小于一定阈值则认为是清晰度异常.
6、噪声异常检测:
功能说明:
由于前端摄像机线路老化,传输故障,接触不良,或者受到电磁干扰,所引起的视频图像中产生速切换变化的噪点,或细微密集网纹状噪声的现象.
算法解决原理:
把图像划分成16*16块,分别计算每个子块的方差,计算最大方差和最小方差的信噪比,PSNR.
7、条纹异常检测:
功能说明:
由于前端摄像机线路老化,传输故障,或者接触不良,或受到电磁干扰,所引起的视频图像画面中混有周期性的彩色、黑白型宽型带状、波纹、网状干扰的现象.
算法解决原理:
把彩色图像转化为灰度图像,对灰度图像进行边缘检测,并统计大于设定阈值的点数量,分析这些点占整幅图像的面积比值.
8、冻结异常检测
功能说明:
由于前端摄像机视频传输调度系统故障所引起的视频流解码后的画面中,时间标识无变化而形成的画面冻结的现象.
算法解决原理:
每隔T帧从视频中取一帧(防止相邻帧太相似引起误检),与当前帧做帧差图像DiffImage,统计DiffImage大于th阈值的点数量sum,可以设定多个,算法中设置了2个,统计连续N帧点sum都小于一定阈值,则认为是画面冻结.
9、信号丢失异常检测:
功能说明:
由于前端摄像机损坏、电源故障或视频传输环节故障,引起的间发性或持续性的画面带有明显无信号表示的信号缺失现象.
算法解决原理:
把图像划分成16*16的小块进行统计,计算局部小块的均值和方差,对方差进行排序,分别统计20和50(作为参考)对应的方差进行分析,小于一定阈值则认为信号丢失.
10、抖动异常检测:
功能说明:
由于前端摄像机自身震动或受环境影响引起的画面抖动,所引起的视频现象画面整体呈现周期性平移式振颤或局部范围内不规则视频信号畸变的现象.
算法解决原理:
每隔N帧取一帧,对取到的每帧进行特征点提取,对检测的相邻2帧进行特征点匹配,得到匹配矩阵,当匹配矩阵大于A时认为这2帧画面有抖动,当抖动帧数大于B时认为画面发生抖动.
11、遮挡异常检测:
功能说明:
由于前端摄像机受外部因素形成异物遮挡,所引起的视频画面主体区域造成的部分或全部视野受阻,画面监控信息严重缺失的现象.
算法解决原理:
彩色图像二值化,偏黑的部分为前景,其他部分为背景,对前景进行连通区域检测,求得最大连通区域面积,该面积整幅图像面积的比较即为遮挡率.
12、黑白图像异常检测:
功能说明:
由于前端摄像机线路接触不良、外部干扰或摄像机故障等原因,所引起视频画面呈现灰度成像,未能还原物体真实色彩的现象.
算法解决原理:
把彩色图像转化为HSV空间,计算H和S的变化量即可.
13、场景变更异常检测:
功能说明:
由于前端摄像机视野、角度被人为移动,所引起的视频画面主体区域与其初始场景相比,发生边界偏移或异物遮罩而造成的场景变换现象.
算法解决原理:
对彩色图像做高斯建模,提取高斯建模的前景图像,计算前景图像的变化量,大于设定值后,则报警.
14、场景剧变常检测:
功能说明:
由于前端摄像机传输故障、外部信号干扰或前端设备故障,所引起的视频画面范围内存在像素块的跳变、叠加,剧烈闪烁等不规则视频信号畸变而造成的场景剧变现象.
算法解决原理:
对彩色图像做高斯建模,提取高斯建模的前景图像,计算前景图像的变化量,大于设定值后,则报警.
相关文章:
视频图像质量诊断
视频图像质量诊断有哪些原理,视频图像质量诊断有哪些算法? 视频图像质量诊断技术支持对视频黑屏、视频干扰、视频卡顿、视频遮挡、亮度异常、图像偏色、视频模糊、视频冻结、视频抖动、场景变更、无字符叠加等20种视频图像质量异常进行诊断,…...
make、Makefile项目自动化构建工具
环境:centos7.6,腾讯云服务器Linux文章都放在了专栏:【Linux】欢迎支持订阅🌹前言自动化构建工具是干什么的呢?主要是为了让我们对指令进行一些设置,就比如说,假如一个项目里有很多个源文件&…...
Linux系统之Uboot、Kernel、Busybox思考之一
目录 一 基础环境 1 硬件基础环境 2 软件基础环境 2.1 Uboot 2.2 内核 2.3 文件系统 二 启动过程 1 2 3 4 5 6 7 一 基础环境 1 硬件基础环境 CPU、内存和FLASH为基础环境,有了这三样,程序就可以跑起来。在此基础上补充各种外设ÿ…...
CCNP350-401学习笔记(401-450题)
401、What is the function of vBond in a Cisco SDWAN deployment? A. initiating connections with SD-WAN routers automatically B. pushing of configuration toward SD-WAN routersC. onboarding of SDWAN routers into the SD-WAN overlay D. gathering telemetry dat…...
一文带你看透前端世界里的日期时间,对就是Date
很高兴我们能够通过不同空间,不同时间,通过这篇博客相识,那一定是一种缘分,一种你和狗哥的缘分。今天我希望通过这篇博客对我所熟知的前端世界里的日期时间做一个汇总,不止是代码上的汇总哦! 目录 一、时区…...
易基因|RRBS单碱基绘制580种动物的基因组规模DNA甲基化谱:Nature子刊
大家好,这里是专注表观组学十余年,领跑多组学科研服务的易基因。2023年01月16日,奥地利科学院分子医学研究中心(CeMM)研究团队在《Nat Commun》杂志发表了题为“Comparative analysis of genome-scale, base-resolution DNA methylation prof…...
面试官:能用JavaScript手写一个bind函数吗
经常会看到网上各种手写bind的教程,下面是我在自己实现手写bind的过程中遇到的问题与思考。如果对于如何实现一个手写bind还有疑惑的话,那么可以先看看上面两篇文章。 手写bind vs 原生bind 我们先使用一个典型的手写bind的例子,代码如下&a…...
美国拟发布纽扣电池或硬币电池安全标准和通知要求ANSI C18. 3M
2023年2月10日,美国向WTO提交G/TBT/N/USA/1964号通报,拟发布纽扣电池或硬币电池以及含有此类电池的消费品的安全标准和通知要求,征求意见截止日期为2023年3月13日,拟通过日期和生效日期待定。联[1]系 拟定规则通知根据H.R.5313瑞…...
双因素方差分析
一、案例与数据 一家大型商业银行在多地区设有分行,其业务主要是进行基础设施建设,国家重点项目建设,固定资产投资等项目的贷款。近年来,该银行的贷款额平稳增长,但不良贷款额也有较大比例的提高,这给银行…...
[ vulhub漏洞复现篇 ] Drupal XSS漏洞 (CVE-2019-6341)
🍬 博主介绍 👨🎓 博主介绍:大家好,我是 _PowerShell ,很高兴认识大家~ ✨主攻领域:【渗透领域】【数据通信】 【通讯安全】 【web安全】【面试分析】 🎉点赞➕评论➕收藏 养成习…...
「TCG 规范解读」第8章 TPM工作组 TPM 1.2中 SHA1的使用
可信计算组织(Ttrusted Computing Group,TCG)是一个非盈利的工业标准组织,它的宗旨是加强在相异计算机平台上的计算环境的安全性。TCG于2003年春成立,并采纳了由可信计算平台联盟(the Trusted Computing Platform Alli…...
熵权法计算权重
文章目录1. 多属性决策问题2. 熵(entropy)3. 信息熵4. 熵权法5. 熵权法的实现基于信息论的熵值法是根据各指标所含信息有序程度的差异性来确定指标权重的客观赋权方法,仅依赖于数据本身的离散程度。熵用于度量不确定性,指标的离散…...
redis实现用户签到,统计活跃用户,用户在线状态,用户留存率
开发的过程中,可能会遇到用户签到、统计当天的活跃用户、以及每个用户的在线状态,用户留存率的开发需求,可能会用传统的方法,根据相应的需求设计数据库表等,但这样耗费的存储空间大,以及性能方面也不会太好…...
MySQL中有多少种索引?索引的底层实现原理
索引存储在内存中,为服务器存储引擎为了快速找到记录的一种数据结构。索引的主要作用是加快数据查找速度,提高数据库的性能。索引的分类(1) 普通索引:最基本的索引,它没有任何限制。(2) 唯一索引:与普通索引类似&#…...
LeetCode经典算法题:二叉树遍历(递归遍历+迭代遍历+层序遍历)以及线索二叉树java详解
LeetCode经典算法题:二叉树遍历(递归遍历迭代遍历层序遍历)以及线索二叉树java详解 文章目录二叉树遍历题目描述解题思路与代码递归遍历迭代遍历层序遍历线索二叉树:二叉树遍历 题目描述 从根节点往下查找,先找左子树…...
【Java闭关修炼】MyBatis-接口代理的方式实现Dao层
【Java闭关修炼】MyBatis-接口代理的方式实现Dao层实现规则代码实现代理对象分析接口代理方式小结实现规则 映射配置文件中的名称空间必须和Dao层接口的全类名相同映射配置文件的增删改查标签的id属性必须和Dao层接口方法的参数相同映射配置文件中的增删改查标签的parameterTyp…...
2022年网络安全政策态势分析与2023年立法趋势
近日,公安部第三研究所网络安全法律研究中心与 360 集团法务中心联合共同发布了《全球网络安全政策法律发展年度报告(2022)》。《报告》概览2022年全球网络安全形势与政策法律态势,并对2023年及后续短期内网络安全政策、立法趋势进…...
使用vmware制作云平台redhat7.9镜像模板
一、概述 1.1 redhat7.9 定制镜像上传到云平台。 这个制作镜像得方式适用于多种iso 镜像。 将iso 镜像通过vmware 创建出一台虚机,对虚机做一些基础配置。在虚机上安装kvm 虚拟化得工具, 将iso 镜像在导入虚机种通过kvm创建一下虚机, 虚机创…...
OpenCV基础(28)使用OpenCV进行摄像机标定Python和C++
摄像头是机器人、监控、太空探索、社交媒体、工业自动化甚至娱乐业等多个领域不可或缺的一部分。 对于许多应用,必须了解相机的参数才能有效地将其用作视觉传感器。 在这篇文章中,您将了解相机校准所涉及的步骤及其意义。 我们还共享 C 和 Python 代码以…...
APB总线详解及手撕代码
本文的参考资料为官方文档AMBA™3 APB Protocol specification文档下载地址: https://pan.baidu.com/s/1Vsj4RdyCLan6jE-quAsEuw?pwdw5bi 提取码:w5bi APB端口介绍介绍总线具体握手规则之前,需要先熟悉一下APB总线端口,APB的端口…...
K8S认证|CKS题库+答案| 11. AppArmor
目录 11. AppArmor 免费获取并激活 CKA_v1.31_模拟系统 题目 开始操作: 1)、切换集群 2)、切换节点 3)、切换到 apparmor 的目录 4)、执行 apparmor 策略模块 5)、修改 pod 文件 6)、…...
Cesium1.95中高性能加载1500个点
一、基本方式: 图标使用.png比.svg性能要好 <template><div id"cesiumContainer"></div><div class"toolbar"><button id"resetButton">重新生成点</button><span id"countDisplay&qu…...
Map相关知识
数据结构 二叉树 二叉树,顾名思义,每个节点最多有两个“叉”,也就是两个子节点,分别是左子 节点和右子节点。不过,二叉树并不要求每个节点都有两个子节点,有的节点只 有左子节点,有的节点只有…...
Rapidio门铃消息FIFO溢出机制
关于RapidIO门铃消息FIFO的溢出机制及其与中断抖动的关系,以下是深入解析: 门铃FIFO溢出的本质 在RapidIO系统中,门铃消息FIFO是硬件控制器内部的缓冲区,用于临时存储接收到的门铃消息(Doorbell Message)。…...
算法笔记2
1.字符串拼接最好用StringBuilder,不用String 2.创建List<>类型的数组并创建内存 List arr[] new ArrayList[26]; Arrays.setAll(arr, i -> new ArrayList<>()); 3.去掉首尾空格...
MySQL 索引底层结构揭秘:B-Tree 与 B+Tree 的区别与应用
文章目录 一、背景知识:什么是 B-Tree 和 BTree? B-Tree(平衡多路查找树) BTree(B-Tree 的变种) 二、结构对比:一张图看懂 三、为什么 MySQL InnoDB 选择 BTree? 1. 范围查询更快 2…...
破解路内监管盲区:免布线低位视频桩重塑停车管理新标准
城市路内停车管理常因行道树遮挡、高位设备盲区等问题,导致车牌识别率低、逃费率高,传统模式在复杂路段束手无策。免布线低位视频桩凭借超低视角部署与智能算法,正成为破局关键。该设备安装于车位侧方0.5-0.7米高度,直接规避树枝遮…...
TCP/IP 网络编程 | 服务端 客户端的封装
设计模式 文章目录 设计模式一、socket.h 接口(interface)二、socket.cpp 实现(implementation)三、server.cpp 使用封装(main 函数)四、client.cpp 使用封装(main 函数)五、退出方法…...
SQL注入篇-sqlmap的配置和使用
在之前的皮卡丘靶场第五期SQL注入的内容中我们谈到了sqlmap,但是由于很多朋友看不了解命令行格式,所以是纯手动获取数据库信息的 接下来我们就用sqlmap来进行皮卡丘靶场的sql注入学习,链接:https://wwhc.lanzoue.com/ifJY32ybh6vc…...
Linux操作系统共享Windows操作系统的文件
目录 一、共享文件 二、挂载 一、共享文件 点击虚拟机选项-设置 点击选项,设置文件夹共享为总是启用,点击添加,可添加需要共享的文件夹 查询是否共享成功 ls /mnt/hgfs 如果显示Download(这是我共享的文件夹)&…...
