OpenCVSharp:使用MOG进行运动物体识别

news/2025/11/17 9:58:49/文章来源:https://www.cnblogs.com/mingupupu/p/19231151

效果

动态效果:

背景替换效果

实现

运动物体检测是计算机视觉中的一个重要应用,广泛应用于安防监控、交通分析、人机交互等领域。本文将详细介绍如何使用OpenCVSharp中的MOG(Mixture of Gaussians)算法实现运动物体检测,并通过一个完整的WPF应用程序示例展示实际应用。

什么是MOG算法?

MOG(Mixture of Gaussians,高斯混合模型)是一种基于背景建模的运动检测算法。它通过对每个像素建立多个高斯分布模型来表示背景,能够有效处理光照变化、树叶摇曳等动态背景干扰。

MOG算法原理

背景建模:为每个像素建立K个高斯分布模型

模型匹配:将当前像素值与已有模型进行匹配

模型更新:根据匹配结果更新模型参数

前景检测:不匹配任何背景模型的像素被标记为前景

ViewModel设计

我们使用MVVM模式设计应用程序,主要包含以下属性和命令:

public class MovingObjectDetectionViewModel : BindableBase
{// 视频路径public string VideoPath { get; set; }// 图像显示public BitmapImage OriginalImage { get; set; }public BitmapImage ProcessedImage { get; set; }// 处理状态public bool IsProcessing { get; set; }public string StatusMessage { get; set; }// 检测参数public double DetectionThreshold { get; set; }// 统计信息public int FrameCount { get; set; }public int DetectedObjectsCount { get; set; }// 命令public ICommand SelectVideoCommand { get; private set; }public ICommand RunCommand { get; private set; }public ICommand StopCommand { get; private set; }
}

主要实现在RunAsync中,我们来学习一下用到了OpenCVSharp的哪些方法。

 using var capture = new VideoCapture(VideoPath);// 获取视频信息int frameWidth = (int)capture.Get(VideoCaptureProperties.FrameWidth);int frameHeight = (int)capture.Get(VideoCaptureProperties.FrameHeight);double fps = capture.Get(VideoCaptureProperties.Fps);int totalFrames = (int)capture.Get(VideoCaptureProperties.FrameCount);

首先可以这样获取视频的一些信息:

      using var mog = BackgroundSubtractorMOG.Create();using var frame = new Mat();using var fg = new Mat();using var kernel = Cv2.GetStructuringElement(MorphShapes.Ellipse, new Size(5, 5));

遇到了一个新东西Cv2.GetStructuringElement。这行代码是创建一个形态学操作的结构元素(也称为核或卷积核),用于图像处理中的形态学变换。

     Cv2.MorphologyEx(fg, fg, MorphTypes.Open, kernel);

这是OpenCVSharp中执行高级形态学操作的函数,支持多种形态学变换类型。

参数说明

第一个参数 fg:输入图像,即经过MOG背景减除后的前景掩码

第二个参数 fg:输出图像,处理后的结果会覆盖原图像

第三个参数 MorphTypes.Open:指定形态学操作类型为开运算

第四个参数 kernel:之前创建的5×5椭圆形结构元素

开运算(Opening Operation)是形态学处理中的一种基本操作,它由腐蚀(Erosion)后跟膨胀(Dilation)两个步骤组成:开运算 = 腐蚀 + 膨胀。

开运算的效果

去除小噪声:消除图像中的孤立白点(小噪声区域)

平滑轮廓:使物体轮廓更加平滑

断开细小连接:轻微分离可能连接在一起的不同物体

保持主要形状:不显著改变物体的大小和基本形状

我们需要大概了解一下腐蚀与膨胀是什么意思。

腐蚀:

膨胀:

// 查找轮廓
OpenCvSharp.Point[][] contours;
HierarchyIndex[] hierarchy;
Cv2.FindContours(fg, out contours, out hierarchy, RetrievalModes.External, ContourApproximationModes.ApproxSimple);

又接触到了一个新东西Cv2.FindContours(),这是OpenCV中查找轮廓的核心函数,用于在二值图像中检测物体边界。

参数详解

第一个参数 fg:输入的二值图像(经过形态学处理的前景掩码)

第二个参数 out contours:输出的轮廓数组

第三个参数 out hierarchy:输出的轮廓层次结构

第四个参数 RetrievalModes.External:轮廓检索模式

第五个参数 ContourApproximationModes.ApproxSimple:轮廓近似方法

轮廓检索模式

RetrievalModes.External含义:只检测最外层轮廓

适用场景:运动物体检测,因为我们只关心物体的外部边界

效果:忽略物体内部的孔洞

其他可选模式:

RetrievalModes.External    // 只检测外轮廓
RetrievalModes.List        // 检测所有轮廓,不建立层次关系
RetrievalModes.CComp       // 检测所有轮廓,建立两层层次关系
RetrievalModes.Tree        // 检测所有轮廓,建立完整的层次树

轮廓近似方法

ContourApproximationModes.ApproxSimple含义:压缩水平、垂直、对角方向的元素,只保留端点

效果:减少轮廓点数,提高处理速度

适用场景:矩形或近似矩形的物体

其他可选方法:

ContourApproximationModes.ApproxNone    // 保存所有轮廓点
ContrieApproximationModes.ApproxSimple  // 压缩轮廓,保留端点
ContourApproximationModes.ApproxTC89L1  // Teh-Chin链逼近算法L1
ContourApproximationModes.ApproxTC89KCOS // Teh-Chin链逼近算法KCOS
// 绘制检测到的运动物体
foreach (var contour in contours)
{double area = Cv2.ContourArea(contour);if (area > 300) // 过滤掉太小的区域{currentFrameObjects++;var rect = Cv2.BoundingRect(contour);Cv2.Rectangle(frame, rect, Scalar.Red, 2);                         }
}

Cv2.ContourArea()计算轮廓包围的面积

Cv2.BoundingRect()计算轮廓的最小外接矩形

Cv2.Rectangle()绘制矩形

就这样处理每一帧就可以得到上面的效果了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/967616.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2025年优秀的碳钢风管加工厂家推荐及选择指南

2025年优秀的碳钢风管加工厂家推荐及选择指南行业背景与市场趋势随着我国建筑行业的持续发展和工业制造水平的不断提升,碳钢风管作为通风系统的重要组成部分,其市场需求呈现稳定增长态势。据中国通风设备行业协会最新…

2025 年 ROT 厂家最新推荐 :国际权威测评认证的高新技术企业核心实力榜单江苏 RTO/废气 RTO 炉/蓄热式焚烧炉/RTO 废气处理公司推荐

引言 随着工业领域有机废气(VOCs)治理需求的持续升级,高效 RTO(蓄热式焚烧炉)设备成为企业实现绿色生产的关键。为破解市场品牌良莠不齐、选型困难的痛点,国际环保设备协会(IEPEA)联合第三方测评机构开展 2025…

习惯养成工具:数字化时代的自我管理辅助

在现代生活节奏加快的背景下,越来越多人开始关注习惯养成与自我管理。近期,一类名为"习惯追踪"的数字工具逐渐进入公众视野,为用户提供记录和跟踪个人习惯的辅助功能。 工具的基本功能 这类习惯追踪工具通…

2025年动物细胞生物反应器厂家权威推荐榜单:固体发酵罐/种子罐/酵母发酵罐源头厂家精选

随着生物医药产业蓬勃发展,动物细胞生物反应器市场需求持续增长,技术创新与智能化成为行业竞争焦点 在生物医药产业高速发展和疫苗、抗体药物市场需求持续扩大的双重驱动下,动物细胞生物反应器作为生物制药的核心设…

2025年评价高的钢结构厂房设计与加工厂家选购指南与推荐

2025年评价高的钢结构厂房设计与加工厂家选购指南与推荐行业背景与市场趋势钢结构厂房作为现代工业建筑的主流形式,近年来在中国市场呈现持续增长态势。根据中国钢结构协会最新发布的《2024年中国钢结构行业发展报告》…

Python-Cookbook-中文版-全-

Python Cookbook 中文版(全) 欢迎来到 Python 菜谱的主页原文:www.pythondoc.com/python-cookbook/index.htmlActiveState 上有很多用户提供的 Python 代码,这些代码能够完成固定的任务; O’Reilly 根据这些资料出…

2025年新疆电线电缆厂家权威推荐榜单:矿用电缆/扁电缆/特种电缆源头厂家精选

在电网建设、新能源项目、城市轨道交通等大型工程推动下,新疆电线电缆行业迎来新的发展机遇。 随着"一带一路"倡议深入推进与新疆能源基地建设提速,新疆电线电缆市场需求呈现稳定增长态势。行业数据显示,…

2025年靠谱的鲈鱼饲料行业权威推荐榜

2025年靠谱的鲈鱼饲料行业权威推荐榜行业背景与市场趋势随着我国水产养殖业的快速发展,鲈鱼作为高经济价值的水产品种,其养殖规模持续扩大。据中国渔业统计年鉴数据显示,2024年我国鲈鱼养殖产量已突破80万吨,年增长…

2025年玻璃钢阳极管优质厂家权威推荐榜单:FRP玻璃钢阳极管/不锈钢阳极管/阳极管源头厂家精选

在环保政策持续收紧和工业排放标准不断提升的背景下,玻璃钢阳极管作为湿式静电除尘系统的核心部件,其性能直接影响着污染治理效果与设备运行稳定性。 随着国家超低排放政策的全面推进,玻璃钢阳极管市场正迎来新一轮…

2025年口碑好的定制电缆桥架厂家最新权威实力榜

2025年口碑好的定制电缆桥架厂家最新权威实力榜行业背景与市场趋势随着我国基础设施建设的持续投入和新能源产业的快速发展,电缆桥架作为电力传输、通信网络等领域的关键配套产品,市场需求呈现稳定增长态势。据中国电…

2025年知名的LW立式排污泵行业内知名厂家排行榜

2025年知名的LW立式排污泵行业内知名厂家排行榜行业背景与市场趋势随着全球城市化进程加速和环保法规日益严格,排污泵作为污水处理系统的核心设备,市场需求持续增长。根据《2024-2025全球水泵行业白皮书》数据显示,…

2025年靠谱的大口径不锈钢焊管厂家推荐及选购参考榜

2025年靠谱的大口径不锈钢焊管厂家推荐及选购参考榜行业背景与市场趋势不锈钢焊管作为工业领域的重要基础材料,近年来随着我国制造业升级和基础设施建设加速,市场需求持续增长。根据中国特钢企业协会不锈钢分会最新统…

2025 最新石墨制造厂家推荐榜:国际协会测评认证,涵盖石墨烯 / 阻燃石墨等多品类实力厂家精选

引言 在新能源、电子信息、复合材料等领域的全球化发展浪潮中,石墨材料作为核心基础元器件,市场需求年均增长率达 15.8%(数据源自国际石墨协会 IGA 2024 年度测评报告)。然而行业乱象仍存,32% 的中小厂家因缺乏核…

2025年评价高的冷拉型钢杭州装修

2025年评价高的冷拉型钢杭州装修:专业采购指南与优质厂家推荐行业背景与市场趋势冷拉型钢作为现代工业制造和建筑装修领域的重要基础材料,近年来在杭州及周边地区的应用需求持续增长。根据中国钢铁工业协会最新发布的…

AtCoder Beginner Contest 432

这场也太逆天了,d 出题人说话仿佛火星人,G 放个 NTT 模板,是我打的 ABC 太少了所以不知道 ABC 是什么尿性吗。。 A 直接排序后输出即可。 code B 贪心从小到大排序,注意不允许有前导 0 所以如果有的话把第一个非 0…

2025年质量好的工业冷却塔最新TOP厂家排名

2025年质量好的工业冷却塔最新TOP厂家排名行业背景与市场趋势工业冷却塔作为工业生产过程中不可或缺的热交换设备,在化工、电力、冶金、制药等行业发挥着关键作用。根据最新发布的《2024-2029全球工业冷却塔市场报告》…

2025 年小型硫化机源头厂家最新推荐排行榜,实力品牌权威测评榜单

引言 在橡胶塑料实验室设备领域,小型硫化机的性能稳定性直接决定实验数据精度与生产效率。当前市场品牌繁杂,技术水平、产品质量与服务能力差异显著,采购方难以精准筛选。本次榜单依托国际橡塑机械协会(IRMA)最新…

2025年知名的纵剪分条冷轧带钢厂家最新TOP实力排行

2025年知名的纵剪分条冷轧带钢厂家最新TOP实力排行行业背景与市场趋势纵剪分条冷轧带钢作为钢铁深加工领域的重要产品,广泛应用于汽车制造、家电生产、建筑装饰、五金制品等行业。随着中国制造业向高质量发展转型,市…

2025年比较好的窑炉脱硝催化剂厂家选购指南与推荐

2025年比较好的窑炉脱硝催化剂厂家选购指南与推荐行业背景与市场趋势随着全球环保法规日益严格和"双碳"目标的持续推进,窑炉脱硝催化剂市场迎来了快速增长期。据中国环境保护产业协会最新数据显示,2024年中…

2025年口碑好的定风量防火阀厂家最新热销排行

2025年口碑好的定风量防火阀厂家最新热销排行行业背景与市场趋势随着我国建筑消防安全的重视程度不断提升,定风量防火阀作为建筑消防排烟系统的核心部件,市场需求持续增长。据中国消防协会最新统计数据显示,2024年我…