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

Python Opencv实践 - 车辆统计(1)读取视频,移除背景,做预处理

        示例中的图像的腐蚀、膨胀和闭运算等需要根据具体视频进行实验得到最佳效果。代码仅供参考。

import cv2 as cv
import numpy as np#读取视频文件
video = cv.VideoCapture("../../SampleVideos/Traffic.mp4")
FPS = 10
DELAY = int(1000 / FPS)
kernel = cv.getStructuringElement(cv.MORPH_ELLIPSE, (5,5))#while True:
#    ret,frame = video.read()
#    if ret == False:
#        break;
#    cv.imshow("Traffic", frame)
#    if cv.waitKey(DELAY) == 27:
#        break;
#video.release()
#cv.destroyAllWindows()#移除背景
#参考资料:https://blog.csdn.net/u014737138/article/details/80389977
#mog = cv.bgsegm.createBackgroundSubtractorMOG()
mog = cv.createBackgroundSubtractorMOG2()
while True:ret,frame = video.read()if ret == False:break;#变为灰度图做高斯滤波gray = cv.cvtColor(frame, cv.COLOR_BGR2GRAY)#blur = cv.GaussianBlur(gray, (3,3), 5)foreground_mask = mog.apply(gray)#腐蚀#erode = cv.erode(foreground_mask, kernel)#膨胀#dilate = cv.dilate(foreground_mask, kernel, iterations=2)#闭运算close = cv.morphologyEx(foreground_mask, cv.MORPH_CLOSE, kernel)close = cv.GaussianBlur(close, (3,3), 5)cv.imshow("Traffic Original", frame)cv.imshow("Traffic Background Removed", foreground_mask)#cv.imshow("Traffic erode", erode)#cv.imshow("Traffic dilate", dilate)cv.imshow("Traffic close", close)if cv.waitKey(DELAY) == 27:break;
video.release()
cv.destroyAllWindows();

http://www.lryc.cn/news/193922.html

相关文章:

  • ROS-6.参数的使用
  • 机器视觉在自动驾驶汽车中的应用与挑战
  • 欠拟合、过拟合及优化:岭回归
  • Mybatis学习笔记注解/xml映射/动态SQL%%%Mybatis教程
  • Git纯操作版 项目添加和提交、SSH keys添加、远程仓库控制、冲突解决、IDEA连接使用
  • 使用OpenSSL生成自签证书
  • Spring源码解析——Spring事务是怎么通过AOP实现的?
  • 机器人革命:脑洞大开的前沿机器人技术!
  • 微信小程序动态海报
  • 手写单例模式
  • 介绍6种解决电脑找不到vcomp140.dll,无法继续执行代码的方法。
  • mysql数据物理迁移
  • 构建图像金字塔:探索 OpenCV 的尺度变换技术
  • ios app开发环境搭建
  • mysql面试题45:读写分离常见方案、哪些中间件可以实现读写分离
  • 【数字IC设计】DC自动添加门控时钟
  • 前端开发工具vscode
  • 网络基础2(1)
  • 系统文件IO、文件描述符fd、重定向、文件系统、动态库和静态库
  • 一、K8S第一步搭建
  • pwnable-1-fd
  • 队列的实现(c语言)
  • 雷电模拟器上使用第一个frida(五)用python实现逆向分析并模拟登陆
  • 基于Linux上MySQL8.*版本的安装-参考官网
  • git 项目管理操作
  • 数据结构--》掌握数据结构中的排序算法
  • Kubernetes实战(三)-k8s节点设置cpu高于多少就不调度
  • 数学建模——平稳时间序列分析方法
  • Vuex使用方式及异步问题处理
  • 【Vue面试题二十七】、你了解axios的原理吗?有看过它的源码吗?