【图像处理基础知识(python+openCV)】——目标检测
一、填充轮廓
#_*_ encoding=utf-8 _*_
import numpy as np
import cv2img=cv2.imread('leilei.jpg')
imggray=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
#二值化图片,将灰度图片中>127的像素修改为255(白色)
ret,thresh=cv2.threshold(imggray,127,255,0)
# cv2.imshow('thresh',thresh)
#在二值化图像中找轮廓,参数(输入图像,轮廓检索模式,轮廓近似方法),返回值(原图像,轮廓,轮廓的层析结构——轮廓之间的关系)
#具体返回值含义见https://blog.csdn.net/jjddss/article/details/73527990
image,contours,hierarchy=cv2.findContours(thresh,cv2.RETR_TREE,cv2.CHAIN_APPROX_SIMPLE)
# cv2.imshow("image",image)
# print("轮廓的数量:",np.size(contours))
# print("第一个轮廓的所有点的坐标:",contours[0])
# print("hierarchy",hierarchy)
contourlist=[]
#绘制轮廓
for contour in contours:if cv2.contourArea(contour)>200:contourlist.append(contour)
#根据最后的参数不同,可以选择填充轮廓,还是
img=cv2.drawContours(image,contourlist,3,(0,255,0),3)
cv2.imshow("img",img)
cv2.waitKey(0)
在这里只将轮廓大于200的进行填充,但效果不咋明显。
这里用到的opencv工具有:
cv2.threshold()
cv2.findContours()
#在二值化图像中找轮廓,参数(输入图像,轮廓检索模式,轮廓近似方法),返回值(原图像,轮廓,轮廓的层析结构——轮廓之间的关系)
#具体返回值含义见https://blog.csdn.net/jjddss/article/details/73527990
cv2.contourArea()
cv2.drawContours()
二、帧间差分法
python代码实现:
#_*_ encoding=utf-8 _*_
import cv2
import numpy as npvedioFile=r"Fueling.mp4"frame_x=720
frame_y=964cap=cv2.VideoCapture(vedioFile)frontFrame=np.zeros((frame_x,frame_y),np.uint8)
targetImage=np.zeros((frame_x,frame_y),np.uint8)kernel=cv2.getStructuringElement(cv2.MORPH_ELLIPSE,(5,5))while cap.isOpened():ret,frame=cap.read()frameGray=cv2.cvtColor(frame,cv2.COLOR_BGR2GRAY)# (x,y,w,h)=cv2.boundingRect(frameGray)# print('x:{},y:{},w:{},h:{}'.format(x,y,w,h))if frontFrame.sum()==0:frontFrame=frameGrayelse:#使用opencv的方法计算两帧相减并取绝对值targetImage=cv2.absdiff(frameGray,frontFrame)ret,targetImage=cv2.threshold(targetImage,127,255,cv2.THRESH_BINARY)targetImage=cv2.morphologyEx(targetImage,cv2.MORPH_OPEN,kernel)targetImage=cv2.morphologyEx(targetImage,cv2.MORPH_CLOSE,kernel)frontFrame=frameGraycv2.imshow("targetImage",targetImage)k=cv2.waitKey(35)&0xFFif k==ord("q"):break
【图像处理基础知识(python+openCV)】——目标检测相关推荐
- [Python图像处理] 一.图像处理基础知识及OpenCV入门函数
该系列文章是讲解Python OpenCV图像处理知识,前期主要讲解图像入门.OpenCV基础用法,中期讲解图像处理的各种算法,包括图像锐化算子.图像增强技术.图像分割等,后期结合深度学习研究图像识别 ...
- 目标检测基础知识学习||显著性目标检测
一.目标检测的分类和其他相关计算机视觉任务 参考: 目标检测总结笔记(Q&Cui) 1.目标检测根据检测的类别个数不同和输入不同可以细分为: (1)单类目标跟踪,多类/同用目标检测 (2)静态 ...
- [Python从零到壹] 三十五.图像处理基础篇之OpenCV绘制各类几何图形
欢迎大家来到"Python从零到壹",在这里我将分享约200篇Python系列文章,带大家一起去学习和玩耍,看看Python这个有趣的世界.所有文章都将结合案例.代码和作者的经验讲 ...
- python图像处理基础知识(cv库函数说明)
python图像处理基础知识,函数说明 目录 python图像处理基础知识,函数说明 1.处理照片(open_cv库) 1.1 cv2.imread('filepath',flags) 1.2 cv2 ...
- python图像处理基础知识(plt库函数说明)
python图像处理基础知识,plt库函数说明 目录 python图像处理基础知识,plt库函数说明 1.画图(plt库) 1.1 plt.figure(num='',figsize=(x, y),d ...
- python实现目标检测_由浅入深:教你如何构建一个行人目标检测模型(Python)
摘要: 零基础也能构建一个目标检测(对象检测)模型?小编教你使用Image AI库从头开始构建一个行人检测模型. 当我们看到一张图片时,我们的大脑会立即识别图片中所包含的物体.而对于机器来说,识别这些 ...
- CVPR2022知识蒸馏用于目标检测:Focal and Global Knowledge Distillation for Detectors
论文下载:https://arxiv.org/abs/2111.11837 源码下载:https://github.com/yzd-v/FGD Abstract 知识蒸馏已成功应用于图像分类.然而目标 ...
- Python OpenCv 车牌检测识别(边缘检测、HSV色彩空间判断)
Python OpenCv 车牌检测识别 背景 车牌识别在交通.停车等方面有着广泛应用,在网上也有很多种基于OpenCV方案进行识别,本文是综合了两种比较流行的方案,首先是提取出疑似车牌区域的轮廓,然 ...
- 图像处理基础知识总结1
图像处理基础知识总结(1) 前言:从接触图像处理.生物特征识别.视频编解码.机器学习已两年有余,还没有系统的总结过,正好最近刷一下Tsinghua的Tipa课件和PKU的Digital Image P ...
- 图像处理基础知识系列之五:贝叶斯方法简单梳理
图像处理基础知识系列之五:贝叶斯方法简单梳理 文章来源: 刘未鹏 数学之美番外篇:平凡而又神奇的贝叶斯方法(作者是个技术兼心理学 ...
最新文章
- LeetCode 74. Search a 2D Matrix--有序矩阵查找--python,java,c++解法
- 两所顶尖大学,签约落地深圳!
- 在 Ubuntu Linux 下搜索文件和文件内容
- Confusion matrix
- 第 30 章 lvs-rrd
- python: 判断字符串是否为合法的json格式
- poj2480(利用欧拉函数的积性求解)
- JavaSE——面向对象进阶(封装、this、static、代码块、包、权限修饰符、main方法详解)
- 格灵深瞳开源全球最大最干净的人脸识别数据集:Glint360K
- java cookie 取不到_java中Servlet Cookie取不到值原因解决办法
- java生成和读取keystore_java-如何以编程方式创建新的KeyStore?
- 使用MyBatis select数据库查出有数据 但返回对象为null时的解决办法
- android adb 命令启动,如何从adb shell启动和停止android服务?
- vscode 路径宏_VSCode宏怎么设置?VSCode宏的添加方法!
- 关系代数题目小汇总——数据库
- 25-Web-京东登录界面
- 攻与防--论游戏好玩的本质
- ICC学习——LAB2
- Ghost超级技巧一家亲
- MFC CFileDialog使用
热门文章
- vimrc.local 备份
- CCF201703-2 学生排队
- 計算機二級-java11
- Java-当前对象this
- python爬取商品信息_Python基于BeautifulSoup爬取京东商品信息
- 数据3分钟丨华为正式捐赠欧拉操作系统;腾讯云数据库TDSQL将发布免费版;MatrixDB 4.3发布...
- 嘉年华回顾丨PingCAP CEO 刘奇,带你探寻TiDB...
- 消除单点,一篇搞定 | 架构设计篇
- 厉害!苏宁通过citus打造分布式数据库抗住DB高负载
- PMOS 和 NMOS区别