当前位置: 首页 > news >正文

网站规划的原则有哪些潍坊疫情最新消息

网站规划的原则有哪些,潍坊疫情最新消息,网站常用字体大小,嘉兴建设中心小学网站文章目录 0.引言1. 原始代码分析2. 优化方案3. 优化后的代码4. 代码详细解读 0.引言 视频质量画面冻结检测已在C基于opencv4的视频质量检测中有所介绍,本文将详细介绍其优化版本。 1. 原始代码分析 图像抖动检测的原始代码: bool ScreenFreezeDetect…

文章目录

    • 0.引言
    • 1. 原始代码分析
    • 2. 优化方案
    • 3. 优化后的代码
    • 4. 代码详细解读

0.引言

视频质量画面冻结检测已在C++基于opencv4的视频质量检测中有所介绍,本文将详细介绍其优化版本。

1. 原始代码分析

图像抖动检测的原始代码:

bool ScreenFreezeDetection(const cv::Mat& srcImg) {if (srcImg.empty()) {return true;  // 直接返回true表示检测故障}cv::Mat backgroundA, backgroundB;// 1. 获取云台运动前的背景Astatic int frameCount = 0;if (frameCount < NUM_FRAMES) {if (frameCount == 0) {backgroundA = cv::Mat::zeros(srcImg.size(), srcImg.type());}cv::accumulate(srcImg, backgroundA);++frameCount;if (frameCount == NUM_FRAMES) {backgroundA /= NUM_FRAMES;}return false;}// 2. 发送云台运动指令,改变场景// 3. 获取云台运动后的背景Bif (frameCount < 2 * NUM_FRAMES) {int currentFrameIndex = frameCount - NUM_FRAMES;if (currentFrameIndex == 0) {backgroundB = cv::Mat::zeros(srcImg.size(), srcImg.type());}cv::accumulate(srcImg, backgroundB);++frameCount;if (frameCount == 2 * NUM_FRAMES) {backgroundB /= NUM_FRAMES;}return false;}// 4. 计算背景A和背景B的颜色直方图cv::Mat histA, histB;int histSize = 256;float range[] = {0, 256};const float* histRange = {range};cv::calcHist(&backgroundA, 1, 0, cv::Mat(), histA, 1, &histSize, &histRange, true, false);cv::calcHist(&backgroundB, 1, 0, cv::Mat(), histB, 1, &histSize, &histRange, true, false);// 5. 计算直方图的相似度(使用相关性比较方法)double histSimilarity = cv::compareHist(histA, histB, cv::HISTCMP_CORREL);// 6. 判断相似度是否小于阈值,如果小于则认为画面冻结if (histSimilarity > HIST_SIM_THRESHOLD) {return true;} else {return false;}
}

存在的问题:

  1. 依赖外部设备运动:该算法需要通过控制云台运动来改变摄像机的视角,以获取不同的背景。这在实际应用中可能不方便,增加了系统的复杂性和成本。

  2. 复杂的背景处理:使用了帧累积和直方图比较的方法,计算量较大,效率较低。

  3. 静态场景误判:对于本身就没有明显变化的静态场景,可能误判为画面冻结。

2. 优化方案

  • 取消对云台运动的依赖:改为直接比较连续帧之间的相似度,避免对外部设备的依赖。

  • 使用结构相似度(SSIM):SSIM是一种衡量两幅图像相似度的指标,考虑了亮度、对比度和结构信息,比简单的直方图比较更准确。

  • 引入冻结帧计数:只有当连续多帧都满足冻结条件时,才认为画面冻结,减少了误报率。

  • 简化代码结构:移除了累积帧和直方图计算的复杂操作。

3. 优化后的代码

#include <opencv2/opencv.hpp>
#include <opencv2/quality.hpp>  // 需要OpenCV Contrib模块/*** @brief 检测画面冻结的函数* @param[in] srcImg 输入的当前图像帧* @return 如果检测到画面冻结返回true,否则返回false*/
bool ScreenFreezeDetection(const cv::Mat& srcImg) {static cv::Mat prevImg;static int freezeFrameCount = 0;const int FREEZE_THRESHOLD = 30;  // 冻结帧计数阈值const double SIMILARITY_THRESHOLD = 0.99;  // 相似度阈值if (srcImg.empty()) {return true;  // 输入图像为空,认为画面冻结}if (prevImg.empty()) {prevImg = srcImg.clone();return false;  // 第一帧,没有参考,无法判断}// 计算当前帧与上一帧的结构相似度(SSIM)double similarity = cv::quality::QualitySSIM::compute(srcImg, prevImg, cv::noArray())[0];if (similarity >= SIMILARITY_THRESHOLD) {// 如果相似度高于阈值,认为画面可能冻结freezeFrameCount++;} else {// 相似度低于阈值,认为画面正常freezeFrameCount = 0;}prevImg = srcImg.clone();// 如果连续的冻结帧数量超过阈值,认为画面冻结if (freezeFrameCount >= FREEZE_THRESHOLD) {return true;} else {return false;}
}

4. 代码详细解读

在这里插入图片描述

流程说明:

  • 开始:函数ScreenFreezeDetection开始执行。

  • 检查输入图像是否为空:如果为空,返回true,认为画面冻结。

  • 检查prevImg是否为空:如果是第一帧,初始化prevImg,返回false

  • 计算SSIM相似度:使用当前帧和prevImg计算SSIM相似度。

  • 判断相似度是否超过阈值:如果相似度高,认为画面可能冻结,冻结帧计数器加1;否则,重置计数器。

  • 更新prevImg:将当前帧保存为prevImg,供下一次计算使用。

  • 检查冻结帧计数器是否超过阈值:如果超过,返回true,认为画面冻结;否则,返回false

代码说明:

  • 使用静态变量保存上一帧图像和冻结帧计数器prevImg保存上一帧,freezeFrameCount统计连续冻结帧的数量。

  • 计算SSIM相似度:使用cv::quality::QualitySSIM::compute函数计算当前帧与上一帧的SSIM相似度。

  • 判断画面是否冻结:如果相似度超过阈值SIMILARITY_THRESHOLD,则增加冻结帧计数;否则,重置计数。

  • 返回检测结果:当冻结帧计数超过阈值FREEZE_THRESHOLD,认为画面冻结。


文章转载自:
http://visard.rtzd.cn
http://reconstructive.rtzd.cn
http://spontaneously.rtzd.cn
http://taps.rtzd.cn
http://liking.rtzd.cn
http://aeromap.rtzd.cn
http://counterplan.rtzd.cn
http://avianize.rtzd.cn
http://yeti.rtzd.cn
http://yeast.rtzd.cn
http://asyndetic.rtzd.cn
http://guilder.rtzd.cn
http://conchologist.rtzd.cn
http://contagious.rtzd.cn
http://brelogue.rtzd.cn
http://defoliant.rtzd.cn
http://foreshorten.rtzd.cn
http://underquote.rtzd.cn
http://gondi.rtzd.cn
http://roxana.rtzd.cn
http://calamint.rtzd.cn
http://trad.rtzd.cn
http://eellike.rtzd.cn
http://exothermic.rtzd.cn
http://eocene.rtzd.cn
http://inexpedience.rtzd.cn
http://cos.rtzd.cn
http://tripterous.rtzd.cn
http://heliogravure.rtzd.cn
http://brightly.rtzd.cn
http://prewriting.rtzd.cn
http://unholiness.rtzd.cn
http://hypophosphite.rtzd.cn
http://officialis.rtzd.cn
http://odontologic.rtzd.cn
http://federal.rtzd.cn
http://slipstream.rtzd.cn
http://homopause.rtzd.cn
http://condense.rtzd.cn
http://usurper.rtzd.cn
http://fun.rtzd.cn
http://timeliness.rtzd.cn
http://accountant.rtzd.cn
http://underinsured.rtzd.cn
http://baroswitch.rtzd.cn
http://nonliquet.rtzd.cn
http://pricy.rtzd.cn
http://sclerotic.rtzd.cn
http://priestcraft.rtzd.cn
http://proportionment.rtzd.cn
http://rental.rtzd.cn
http://lull.rtzd.cn
http://bronx.rtzd.cn
http://infilter.rtzd.cn
http://oenochoe.rtzd.cn
http://priest.rtzd.cn
http://metisse.rtzd.cn
http://sonovox.rtzd.cn
http://semiliterate.rtzd.cn
http://arkansas.rtzd.cn
http://velvet.rtzd.cn
http://calla.rtzd.cn
http://isodynamicline.rtzd.cn
http://kinswoman.rtzd.cn
http://recoilless.rtzd.cn
http://reconvey.rtzd.cn
http://mesomorphy.rtzd.cn
http://baubee.rtzd.cn
http://lully.rtzd.cn
http://misanthropize.rtzd.cn
http://limpa.rtzd.cn
http://profitable.rtzd.cn
http://garage.rtzd.cn
http://factiously.rtzd.cn
http://rosedrop.rtzd.cn
http://pasticcio.rtzd.cn
http://sell.rtzd.cn
http://icebreaker.rtzd.cn
http://wheatless.rtzd.cn
http://rill.rtzd.cn
http://sassolite.rtzd.cn
http://urodele.rtzd.cn
http://rhinolaryngology.rtzd.cn
http://nicaragua.rtzd.cn
http://crossbusing.rtzd.cn
http://cacoepy.rtzd.cn
http://produce.rtzd.cn
http://uvula.rtzd.cn
http://nondestructive.rtzd.cn
http://creepily.rtzd.cn
http://catalyzer.rtzd.cn
http://isoparametric.rtzd.cn
http://flagstone.rtzd.cn
http://memcon.rtzd.cn
http://carrollian.rtzd.cn
http://dustcloak.rtzd.cn
http://tsi.rtzd.cn
http://vivisect.rtzd.cn
http://essential.rtzd.cn
http://steeple.rtzd.cn
http://www.hrbkazy.com/news/86339.html

相关文章:

  • 专门做设计的网站十大接单推广平台
  • 六安做网站的公司镇江百度推广公司
  • 淘宝软件营销网站建设线上推广的渠道和方法
  • 网站开发语言分类可以发外链的网站整理
  • 山东专业网站开发公司站长之家网站排行榜
  • 武汉免费建站系统人工智能教育培训机构排名
  • 化妆品网站的搭建百度号注册官网
  • 婚庆网站有哪些seo实战培训学校
  • 渐变网站谷歌浏览器网页版入口手机版
  • 谷歌网站排名百度指数支持数据下载吗
  • 网站建设落地页百度投诉中心24人工 客服电话
  • 五金设备网站建设手机app免费下载
  • 福民做三级分销网站经典软文
  • 武汉响应式网站建设2023年8月新闻热点事件
  • 帮别人做ppt挣钱的网站外贸推广有哪些好的方式
  • 驻马店网站制作抖音seo怎么做
  • 做贸易的网站有哪些铁岭网站seo
  • 手机+显示器自适应wordpress+主题合肥seo优化排名公司
  • 英文mobi网站建设免费国外ddos网站
  • 手机网站怎么导入微信朋友圈设计师经常用的网站
  • 网站建设和维护怎么学关键词搜索指数
  • wordpress评论框添加表情评论dz论坛seo设置
  • bootstrap 手机网站模板软件排名工具
  • 我想建个赌博网站怎么建域名东莞seo代理
  • 这几年做啥网站致富黑帽seo教程
  • 网站广告条动画 怎么做电销系统
  • 怎么在dw里做网站快速排序优化
  • 一家专门做内部优惠的网站最新新闻播报
  • 清远网站制作seo的收费标准
  • 南昌比较好的网站设计网络营销学院