python图片目标检测_python+opencv实现目标检测中图片怎么插入
匿名用户
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实现目标检测中图片怎么插入相关推荐
- python人脸识别截图_Python OpenCV调用摄像头检测人脸并截图
本文实例为大家分享了Python OpenCV调用摄像头检测人脸并截图的具体代码,供大家参考,具体内容如下 注意:需要在python中安装OpenCV库,同时需要下载OpenCV人脸识别模型haarc ...
- python图像缺陷检测_python OpenCV 实现缺陷检测
机器视觉第七次实验 一.实验目的 通过OpenCV第七次进行实验,对图片进行缺陷检测. 二.实验内容 对图片进行缺陷测量. 三.实验过程 我使用的是python语言+openCV对图片进行缺陷检测的功 ...
- python照片过人脸_python openCV实现摄像头获取人脸图片
本文实例为大家分享了python openCV实现摄像头获取人脸图片的具体代码,供大家参考,具体内容如下 在机器学习中,训练模型需要大量图片,通过openCV中的库可以快捷的调用摄像头,截取图片,可以 ...
- python图像检测_Python+Opencv识别两张相似图片
在网上看到python做图像识别的相关文章后,真心感觉python的功能实在太强大,因此将这些文章总结一下,建立一下自己的知识体系. 当然了,图像识别这个话题作为计算机科学的一个分支,不可能就在本文简 ...
- python颜色识别原理_python+opencv实现颜色检测、轮廓检测、颜色追踪
准备工作 python配置numpy和openCv库 读取图像和视频图像cv2.imread(路径) cv2.imshow(窗口名称,输出对象) cv2.waitkey(等待时间)import cv2 ...
- python识别图片中数字_Python Opencv识别两张相似图片
在网上看到python做图像识别的相关文章后,真心感觉python的功能实在太强大,因此将这些文章总结一下,建立一下自己的知识体系. 当然了,图像识别这个话题作为计算机科学的一个分支,不可能就在本文简 ...
- hough变换直线检测_python+opencv实现霍夫变换检测直线
作者:Ruff_XY 功能: 创建一个滑动条来控制检测直线的长度阈值,即大于该阈值的检测出来,小于该阈值的忽略 注意:这里用的函数是HoughLinesP而不是HoughLines,因为HoughLi ...
- python行人检测_行人检测 基于 OpenCV 的人体检测
原文链接行人检测 基于 OpenCV 的人体检测 - 热分享hotdog29.com 行人检测 基于 OpenCV 的人体检测 我们都知道,无论性别,种族或种族如何,我们的身体都具有相同的基本结构. ...
- opencv canny源码解析_行人检测 基于 OpenCV 的人体检测
原文链接 行人检测 基于 OpenCV 的人体检测 - 热分享hotdog29.com 在 2019年8月1日 上张贴 由 hotdog发表回复 行人检测 基于 OpenCV 的人体检测 我们都知道 ...
最新文章
- LogMiner日志分析工具的使用
- OpenJDK将对Android开发产生怎样的影响?
- 动态调用有关的方法?
- 邵阳学院计算机科学与技术专业分最低,邵阳学院在湖南各专业录取最低分/最低位次...
- php使用mkdir创建多级目录入门例子
- 住过一晚两万的ICU后,我还是建议你不要轻易买保险
- 【解题报告】Leecode 519. 随机翻转矩阵——Leecode每日一题系列
- RTX5 | 事件标志组03 - 线程同步(逻辑或)
- 推荐35个优秀的电子商务网站界面 (转)
- Python入门:生成器并行(协程)
- Eclipse Debug调试详解
- java 多线程编程指南 pdf_Java-多线程编程
- 拓端tecdat|R语言计量经济学与有时间序列模式的机器学习预测
- Thingsboard hierachy widget 和同一个dashboard不同数据的联动控制
- 怎样制作透明底艺术字水印?教你在线制作艺术字的方法
- C# winfrom窗体及控件 根据系统的分辨率自动调整位置
- 2020德勤面试开始了吗_四大2020年春招时间曝光!
- python读书心得体会_Python学习心得体会
- 关于树叶的活动设计_大班社会教案《有趣的叶子》
- 一建课件下载2019年一级建造师报考流程图,报考步骤一目了然
热门文章
- J9数字论:什么是 DAO?DAO 的起源是什么
- Error: Can't place multiple pins assigned to pin location……解决办法
- 合肥轨道交通线路图(2025+ / 运营版)
- 硬件microbit基础
- 蓝桥杯细节与功能Understanding——小结共欣赏,疑义相与析
- 留数定理matlab,第五章 留数定理习题及其解答
- linux下的ktime_t timeval timespec
- 月下夜想曲200.6(攻略4)
- 2014阿里巴巴秋季校园招聘-软件研发工程师笔试题/面试问题收集
- 在线教育,异军突起,有一种华丽转身,叫做.NET在线讲师!(全职/兼职皆可)...