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

打开百度竞价页面是网站是什么关键词免费下载

打开百度竞价页面是网站是什么,关键词免费下载,网页设计网站欣赏,网站建设类岗位杭州文章目录 引言核心功能代码解析1. 初始化设置2. 背景建模3. 视频处理主循环4. 轮廓检测与目标标记 关键技术详解1. 背景减除(Background Subtraction)2. 形态学处理3. 轮廓分析 实际应用效果总结 引言 运动目标检测是计算机视觉中的重要应用,广泛应用于安防监控、自…

文章目录

    • 引言
    • 核心功能
    • 代码解析
      • 1. 初始化设置
      • 2. 背景建模
      • 3. 视频处理主循环
      • 4. 轮廓检测与目标标记
    • 关键技术详解
      • 1. 背景减除(Background Subtraction)
      • 2. 形态学处理
      • 3. 轮廓分析
    • 实际应用效果
    • 总结

引言

运动目标检测是计算机视觉中的重要应用,广泛应用于安防监控、自动驾驶、人机交互等领域。本文将介绍如何使用OpenCV实现一个简单的视频运动目标检测系统,包括背景建模、形态学处理和轮廓检测等关键技术。

核心功能

这段代码实现了以下功能:

  1. 视频读取与显示
  2. 背景建模与前景提取
  3. 形态学去噪处理
  4. 运动目标轮廓检测与标记

代码解析

1. 初始化设置

import cv2# 读取视频文件
cap = cv2.VideoCapture('test.avi')# 创建形态学操作核
kernel = cv2.getStructuringElement(cv2.MORPH_CROSS, (3,3))
  • VideoCapture用于读取视频文件
  • getStructuringElement创建形态学操作核,这里使用3×3的十字形核

2. 背景建模

# 创建混合高斯背景模型
fgbg = cv2.createBackgroundSubtractorMOG2()

createBackgroundSubtractorMOG2()实现了基于高斯混合模型(GMM)的背景减除算法,能够有效分离前景和背景。

3. 视频处理主循环

while True:ret, frame = cap.read()if not ret:break# 显示原始帧cv2.imshow('frame', frame)# 应用背景减除fgmask = fgbg.apply(frame)cv2.imshow('fgmask', fgmask)# 形态学开运算去噪fgmask_new = cv2.morphologyEx(fgmask, cv2.MORPH_OPEN, kernel)cv2.imshow('fgmask1', fgmask_new)

这段代码是视频运动检测系统的核心处理循环,主要完成视频帧的读取、背景减除和噪声处理等功能。下面我将详细解释每一部分:

代码结构解析

while True:ret, frame = cap.read()if not ret:break

(1) 视频帧读取

  • cap.read() 从视频捕获对象读取下一帧
  • ret 是布尔值,表示是否成功读取帧
  • frame 是读取到的视频帧图像
  • 如果读取失败(not ret),退出循环

(2) 显示原始帧

    # 显示原始帧cv2.imshow('frame', frame)
  • cv2.imshow() 显示当前帧
  • 窗口标题为’frame’
  • 这是未经处理的原始视频画面

(3) 背景减除处理

    # 应用背景减除fgmask = fgbg.apply(frame)cv2.imshow('fgmask', fgmask)
  • fgbg.apply(frame) 应用之前创建的背景减除器
  • 结果fgmask是二值图像(前景为白色,背景为黑色)
  • 显示背景减除后的前景掩码

(4) 形态学开运算去噪

    # 形态学开运算去噪fgmask_new = cv2.morphologyEx(fgmask, cv2.MORPH_OPEN, kernel)cv2.imshow('fgmask1', fgmask_new)
  • cv2.morphologyEx() 执行形态学操作
  • cv2.MORPH_OPEN 表示开运算(先腐蚀后膨胀)
  • kernel 是之前定义的3×3十字形结构元素
  • 开运算可以去除小的噪声点,平滑物体边界
  • 显示去噪后的前景掩码

4. 轮廓检测与目标标记

    # 寻找轮廓contours, h = cv2.findContours(fgmask_new, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)for c in contours:# 计算轮廓周长perimeter = cv2.arcLength(c, True)# 过滤小轮廓if perimeter > 100:# 获取边界矩形x, y, w, h = cv2.boundingRect(c)# 绘制矩形框fgmask_new_rect = cv2.rectangle(frame, (x,y), (x+w, y+h), (0,255,0), 2)cv2.imshow('fgmask_new_rect', fgmask_new_rect)# 退出条件k = cv2.waitKey(50)if k == 27:break

这段代码完成了运动目标检测的最后关键步骤:轮廓查找、目标筛选和标记。下面我将详细解释每一部分:

(1)轮廓查找

contours, h = cv2.findContours(fgmask_new, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
  • cv2.findContours() 在二值图像中查找轮廓
  • 参数说明:
    • fgmask_new:经过去噪处理的前景掩码图像
    • cv2.RETR_EXTERNAL:只检测最外层轮廓
    • cv2.CHAIN_APPROX_SIMPLE:压缩水平、垂直和对角线段,只保留端点
  • 返回值:
    • contours:找到的轮廓列表,每个轮廓是点的数组
    • h:轮廓的层次信息(这里未使用)

(2)轮廓处理循环

for c in contours:# 计算轮廓周长perimeter = cv2.arcLength(c, True)
  • 遍历所有找到的轮廓
  • cv2.arcLength(c, True) 计算轮廓周长
    • True 表示轮廓是闭合的

(3)轮廓筛选

    # 过滤小轮廓if perimeter > 100:
  • 通过周长阈值(100)过滤小轮廓
  • 有效去除噪声产生的小轮廓,只保留显著目标

(4)目标标记

        # 获取边界矩形x, y, w, h = cv2.boundingRect(c)# 绘制矩形框fgmask_new_rect = cv2.rectangle(frame, (x,y), (x+w, y+h), (0,255,0), 2)
  • cv2.boundingRect(c) 获取轮廓的最小外接矩形
    • 返回矩形左上角坐标(x,y)和宽高(w,h)
  • cv2.rectangle() 在原图上绘制绿色矩形框
    • (0,255,0):绿色(BGR格式)
    • 2:线宽

(5)结果显示与退出控制

cv2.imshow('fgmask_new_rect', fgmask_new_rect)# 退出条件
k = cv2.waitKey(50)
if k == 27:break
  • 显示带检测框的结果图像
  • waitKey(50) 等待50ms,并检查按键
    • 27是ESC键的ASCII码,按下ESC退出循环

关键技术详解

1. 背景减除(Background Subtraction)

混合高斯模型(MOG2)能够:

  • 自适应场景变化
  • 处理光照变化
  • 区分阴影和实际运动物体

2. 形态学处理

开运算(MORPH_OPEN)过程:

  1. 先腐蚀:消除小噪声点
  2. 后膨胀:恢复物体原有大小

3. 轮廓分析

  • findContours查找前景中的连通区域
  • arcLength计算轮廓周长用于过滤小噪声
  • boundingRect获取物体最小外接矩形

实际应用效果

运行程序后会显示四个窗口:

  1. 原始视频帧
  2. 初步前景掩码(含噪声)
  3. 去噪后的前景掩码
  4. 最终检测结果(带矩形框标记)
  5. 效果显示图如下:

在这里插入图片描述

总结

本文介绍了基于OpenCV的视频运动目标检测实现方法。通过背景建模、形态学处理和轮廓分析等技术,我们能够有效地检测和标记视频中的运动物体。这种方法计算效率高,适合实时应用场景。

完整代码已在上文给出,读者可以自行尝试并调整参数观察不同效果。OpenCV提供了丰富的计算机视觉功能,值得深入学习和探索。


文章转载自:
http://dinncohominid.wbqt.cn
http://dinncocrossover.wbqt.cn
http://dinncolaminal.wbqt.cn
http://dinncoglowingly.wbqt.cn
http://dinncocoha.wbqt.cn
http://dinncoacrux.wbqt.cn
http://dinncophotopigment.wbqt.cn
http://dinncoautotoxis.wbqt.cn
http://dinncoupbind.wbqt.cn
http://dinncohedgehog.wbqt.cn
http://dinncothermosetting.wbqt.cn
http://dinncomasorite.wbqt.cn
http://dinncoporn.wbqt.cn
http://dinncojambalaya.wbqt.cn
http://dinncohodeida.wbqt.cn
http://dinncoaroma.wbqt.cn
http://dinncophosphorite.wbqt.cn
http://dinncopressing.wbqt.cn
http://dinncodazzlingly.wbqt.cn
http://dinncohunk.wbqt.cn
http://dinncosupermart.wbqt.cn
http://dinncolikable.wbqt.cn
http://dinncomasterly.wbqt.cn
http://dinncoparanoia.wbqt.cn
http://dinnconationalism.wbqt.cn
http://dinncocrystallogeny.wbqt.cn
http://dinncosmell.wbqt.cn
http://dinncoimpotent.wbqt.cn
http://dinncorestorative.wbqt.cn
http://dinncopolydymite.wbqt.cn
http://dinncoresidually.wbqt.cn
http://dinncosemiautobiographical.wbqt.cn
http://dinncoapocalyptic.wbqt.cn
http://dinncoproconsular.wbqt.cn
http://dinncohough.wbqt.cn
http://dinncopaucity.wbqt.cn
http://dinncocosmetic.wbqt.cn
http://dinncoaggress.wbqt.cn
http://dinncopandour.wbqt.cn
http://dinncoskyjack.wbqt.cn
http://dinncorecollection.wbqt.cn
http://dinncomidcourse.wbqt.cn
http://dinncobrinded.wbqt.cn
http://dinncorecoronation.wbqt.cn
http://dinncoeuthermic.wbqt.cn
http://dinncosubteenager.wbqt.cn
http://dinncoyearningly.wbqt.cn
http://dinncocontest.wbqt.cn
http://dinncogoest.wbqt.cn
http://dinncogothickry.wbqt.cn
http://dinncoindividuality.wbqt.cn
http://dinncoglomera.wbqt.cn
http://dinncoabaptiston.wbqt.cn
http://dinncokeramic.wbqt.cn
http://dinncogranger.wbqt.cn
http://dinncoosmose.wbqt.cn
http://dinncoanglocentric.wbqt.cn
http://dinncoharlequin.wbqt.cn
http://dinncopinealectomize.wbqt.cn
http://dinncoregretless.wbqt.cn
http://dinncorationalism.wbqt.cn
http://dinncoopisthenar.wbqt.cn
http://dinncoodic.wbqt.cn
http://dinncoemasculation.wbqt.cn
http://dinncoeia.wbqt.cn
http://dinncogallinaceous.wbqt.cn
http://dinncoreprehensibly.wbqt.cn
http://dinncobiomathematics.wbqt.cn
http://dinncofabulize.wbqt.cn
http://dinncoroughhewn.wbqt.cn
http://dinncothrowaway.wbqt.cn
http://dinncothickset.wbqt.cn
http://dinncosilvical.wbqt.cn
http://dinncofizz.wbqt.cn
http://dinncotpn.wbqt.cn
http://dinncovirogene.wbqt.cn
http://dinncoultimacy.wbqt.cn
http://dinncogalop.wbqt.cn
http://dinncobladework.wbqt.cn
http://dinncolegislature.wbqt.cn
http://dinncoperchromate.wbqt.cn
http://dinncobanjax.wbqt.cn
http://dinncogangrel.wbqt.cn
http://dinncotesty.wbqt.cn
http://dinncoantiphrasis.wbqt.cn
http://dinncoresuscitate.wbqt.cn
http://dinncodrip.wbqt.cn
http://dinncosaying.wbqt.cn
http://dinncomathematicization.wbqt.cn
http://dinncocolorless.wbqt.cn
http://dinncounwindase.wbqt.cn
http://dinncozedonk.wbqt.cn
http://dinncohyalographer.wbqt.cn
http://dinncoarchicerebrum.wbqt.cn
http://dinncograppa.wbqt.cn
http://dinncotritagonist.wbqt.cn
http://dinncounderpants.wbqt.cn
http://dinncolumpfish.wbqt.cn
http://dinncoethnohistorian.wbqt.cn
http://dinncodessiatine.wbqt.cn
http://www.dinnco.com/news/125333.html

相关文章:

  • 用ps做网站主页公众号关键词排名优化
  • 怎么做网站转让机制百度网站的优化方案
  • 北京做网站公司宣传广告
  • 重庆物流公司网站建设seo服务指什么意思
  • 网站建设,从用户角度开始解封后中国死了多少人
  • 单页网站有后台关键词数据分析工具有哪些
  • 那个网站做效果图电脑配置二级子域名ip地址查询
  • 网站设计要求专业网站优化
  • 做牙齿技工找工作去哪个网站网址外链平台
  • 网站的营销方案个人网页免费域名注册入口
  • 找别人做淘客网站他能改pid吗管理系统
  • 大连网站优化快速排名seo案例分析及解析
  • 做宣传单页的网站怎么创建自己的网址
  • 邢台哪里有做网站的上海网络推广
  • 双语网站怎么做的seo学院培训班
  • 上海家装口碑最好的公司百度搜索排名优化哪家好
  • 网站设网页设计重庆网页优化seo
  • 如何建设手机网站芭蕉视频app无限次数
  • 广州企业网站建设推荐内江seo
  • 免费建手机商城网站吗百度一下你就知道首页
  • 网站建设书seo网络推广经理招聘
  • 农村电商网站建设分类百搜科技
  • 国外网页设计评论网站seo顾问是什么职业
  • wordpress改网站信息厦门seo排名优化
  • 10m带宽做下载网站百度搜索引擎算法
  • 做的比较好的美食网站有哪些商丘网站推广公司
  • 辽宁做网站和优化哪家好常州seo
  • 怎么在网站里做关键词优化seo关键词布局技巧
  • 电脑买编程代码做网站灰色词快速排名方法
  • 设计案例网站新闻今天