匿名用户

1级

2018-04-17 回答

考虑的是“背景帧”与其它帧之间的差异

这种方法检测结果还是挺不错的,但是需要提前设置背景帧,如果是在室外,光线的变化就会引起误检测,还是很有局限性的。

import cv2import numpy as np

camera = cv2.VideoCapture(0) # 参数0表示第一个摄像头# 判断视频是否打开if (camera.isOpened()):

print('Open')else:

print('摄像头未打开')# 测试用,查看视频sizesize = (int(camera.get(cv2.CAP_PROP_FRAME_WIDTH)),

int(camera.get(cv2.CAP_PROP_FRAME_HEIGHT)))

print('size:'+repr(size))

es = cv2.getStructuringElement(cv2.MORPH_ELLIPSE, (9, 4))

kernel = np.ones((5, 5), np.uint8)

background = Nonewhile True:    # 读取视频流

grabbed, frame_lwpCV = camera.read()    # 对帧进行预处理,先转灰度图,再进行高斯滤波。

# 用高斯滤波进行模糊处理,进行处理的原因:每个输入的视频都会因自然震动、光照变化或者摄像头本身等原因而产生噪声。对噪声进行平滑是为了避免在运动和跟踪时将其检测出来。

gray_lwpCV = cv2.cvtColor(frame_lwpCV, cv2.COLOR_BGR2GRAY)

gray_lwpCV = cv2.GaussianBlur(gray_lwpCV, (21, 21), 0)    # 将第一帧设置为整个输入的背景

if background is None:

background = gray_lwpCV        continue

# 对于每个从背景之后读取的帧都会计算其与北京之间的差异,并得到一个差分图(different map)。

# 还需要应用阈值来得到一幅黑白图像,并通过下面代码来膨胀(dilate)图像,从而对孔(hole)和缺陷(imperfection)进行归一化处理

diff = cv2.absdiff(background, gray_lwpCV)

diff = cv2.threshold(diff, 25, 255, cv2.THRESH_BINARY)[1] # 二值化阈值处理

diff = cv2.dilate(diff, es, iterations=2) # 形态学膨胀

# 显示矩形框

image, contours, hierarchy = cv2.findContours(diff.copy(), cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE) # 该函数计算一幅图像中目标的轮廓

for c in contours:        if cv2.contourArea(c) < 1500: # 对于矩形区域,只显示大于给定阈值的轮廓,所以一些微小的变化不会显示。对于光照不变和噪声低的摄像头可不设定轮廓最小尺寸的阈值

continue

(x, y, w, h) = cv2.boundingRect(c) # 该函数计算矩形的边界框

cv2.rectangle(frame_lwpCV, (x, y), (x+w, y+h), (0, 255, 0), 2)

cv2.imshow('contours', frame_lwpCV)

cv2.imshow('dis', diff)

key = cv2.waitKey(1) & 0xFF

# 按'q'健退出循环

if key == ord('q'):        break# When everything done, release the capturecamera.release()

cv2.destroyAllWindows()

python图片目标检测_python+opencv实现目标检测中图片怎么插入相关推荐

  1. python人脸识别截图_Python OpenCV调用摄像头检测人脸并截图

    本文实例为大家分享了Python OpenCV调用摄像头检测人脸并截图的具体代码,供大家参考,具体内容如下 注意:需要在python中安装OpenCV库,同时需要下载OpenCV人脸识别模型haarc ...

  2. python图像缺陷检测_python OpenCV 实现缺陷检测

    机器视觉第七次实验 一.实验目的 通过OpenCV第七次进行实验,对图片进行缺陷检测. 二.实验内容 对图片进行缺陷测量. 三.实验过程 我使用的是python语言+openCV对图片进行缺陷检测的功 ...

  3. python照片过人脸_python openCV实现摄像头获取人脸图片

    本文实例为大家分享了python openCV实现摄像头获取人脸图片的具体代码,供大家参考,具体内容如下 在机器学习中,训练模型需要大量图片,通过openCV中的库可以快捷的调用摄像头,截取图片,可以 ...

  4. python图像检测_Python+Opencv识别两张相似图片

    在网上看到python做图像识别的相关文章后,真心感觉python的功能实在太强大,因此将这些文章总结一下,建立一下自己的知识体系. 当然了,图像识别这个话题作为计算机科学的一个分支,不可能就在本文简 ...

  5. python颜色识别原理_python+opencv实现颜色检测、轮廓检测、颜色追踪

    准备工作 python配置numpy和openCv库 读取图像和视频图像cv2.imread(路径) cv2.imshow(窗口名称,输出对象) cv2.waitkey(等待时间)import cv2 ...

  6. python识别图片中数字_Python Opencv识别两张相似图片

    在网上看到python做图像识别的相关文章后,真心感觉python的功能实在太强大,因此将这些文章总结一下,建立一下自己的知识体系. 当然了,图像识别这个话题作为计算机科学的一个分支,不可能就在本文简 ...

  7. hough变换直线检测_python+opencv实现霍夫变换检测直线

    作者:Ruff_XY 功能: 创建一个滑动条来控制检测直线的长度阈值,即大于该阈值的检测出来,小于该阈值的忽略 注意:这里用的函数是HoughLinesP而不是HoughLines,因为HoughLi ...

  8. python行人检测_行人检测 基于 OpenCV 的人体检测

    原文链接行人检测 基于 OpenCV 的人体检测 - 热分享​hotdog29.com 行人检测 基于 OpenCV 的人体检测 我们都知道,无论性别,种族或种族如何,我们的身体都具有相同的基本结构. ...

  9. opencv canny源码解析_行人检测 基于 OpenCV 的人体检测

    原文链接 行人检测 基于 OpenCV 的人体检测 - 热分享​hotdog29.com 在 2019年8月1日 上张贴 由 hotdog发表回复 行人检测 基于 OpenCV 的人体检测 我们都知道 ...

最新文章

  1. LogMiner日志分析工具的使用
  2. OpenJDK将对Android开发产生怎样的影响?
  3. 动态调用有关的方法?
  4. 邵阳学院计算机科学与技术专业分最低,邵阳学院在湖南各专业录取最低分/最低位次...
  5. php使用mkdir创建多级目录入门例子
  6. 住过一晚两万的ICU后,我还是建议你不要轻易买保险
  7. 【解题报告】Leecode 519. 随机翻转矩阵——Leecode每日一题系列
  8. RTX5 | 事件标志组03 - 线程同步(逻辑或)
  9. 推荐35个优秀的电子商务网站界面 (转)
  10. Python入门:生成器并行(协程)
  11. Eclipse Debug调试详解
  12. java 多线程编程指南 pdf_Java-多线程编程
  13. 拓端tecdat|R语言计量经济学与有时间序列模式的机器学习预测
  14. Thingsboard hierachy widget 和同一个dashboard不同数据的联动控制
  15. 怎样制作透明底艺术字水印?教你在线制作艺术字的方法
  16. C# winfrom窗体及控件 根据系统的分辨率自动调整位置
  17. 2020德勤面试开始了吗_四大2020年春招时间曝光!
  18. python读书心得体会_Python学习心得体会
  19. 关于树叶的活动设计_大班社会教案《有趣的叶子》
  20. 一建课件下载2019年一级建造师报考流程图,报考步骤一目了然

热门文章

  1. J9数字论:什么是 DAO?DAO 的起源是什么
  2. Error: Can't place multiple pins assigned to pin location……解决办法
  3. 合肥轨道交通线路图(2025+ / 运营版)
  4. 硬件microbit基础
  5. 蓝桥杯细节与功能Understanding——小结共欣赏,疑义相与析
  6. 留数定理matlab,第五章 留数定理习题及其解答
  7. linux下的ktime_t timeval timespec
  8. 月下夜想曲200.6(攻略4)
  9. 2014阿里巴巴秋季校园招聘-软件研发工程师笔试题/面试问题收集
  10. 在线教育,异军突起,有一种华丽转身,叫做.NET在线讲师!(全职/兼职皆可)...