一、填充轮廓

#_*_ 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)】——目标检测相关推荐

  1. [Python图像处理] 一.图像处理基础知识及OpenCV入门函数

    该系列文章是讲解Python OpenCV图像处理知识,前期主要讲解图像入门.OpenCV基础用法,中期讲解图像处理的各种算法,包括图像锐化算子.图像增强技术.图像分割等,后期结合深度学习研究图像识别 ...

  2. 目标检测基础知识学习||显著性目标检测

    一.目标检测的分类和其他相关计算机视觉任务 参考: 目标检测总结笔记(Q&Cui) 1.目标检测根据检测的类别个数不同和输入不同可以细分为: (1)单类目标跟踪,多类/同用目标检测 (2)静态 ...

  3. [Python从零到壹] 三十五.图像处理基础篇之OpenCV绘制各类几何图形

    欢迎大家来到"Python从零到壹",在这里我将分享约200篇Python系列文章,带大家一起去学习和玩耍,看看Python这个有趣的世界.所有文章都将结合案例.代码和作者的经验讲 ...

  4. python图像处理基础知识(cv库函数说明)

    python图像处理基础知识,函数说明 目录 python图像处理基础知识,函数说明 1.处理照片(open_cv库) 1.1 cv2.imread('filepath',flags) 1.2 cv2 ...

  5. python图像处理基础知识(plt库函数说明)

    python图像处理基础知识,plt库函数说明 目录 python图像处理基础知识,plt库函数说明 1.画图(plt库) 1.1 plt.figure(num='',figsize=(x, y),d ...

  6. python实现目标检测_由浅入深:教你如何构建一个行人目标检测模型(Python)

    摘要: 零基础也能构建一个目标检测(对象检测)模型?小编教你使用Image AI库从头开始构建一个行人检测模型. 当我们看到一张图片时,我们的大脑会立即识别图片中所包含的物体.而对于机器来说,识别这些 ...

  7. CVPR2022知识蒸馏用于目标检测:Focal and Global Knowledge Distillation for Detectors

    论文下载:https://arxiv.org/abs/2111.11837 源码下载:https://github.com/yzd-v/FGD Abstract 知识蒸馏已成功应用于图像分类.然而目标 ...

  8. Python OpenCv 车牌检测识别(边缘检测、HSV色彩空间判断)

    Python OpenCv 车牌检测识别 背景 车牌识别在交通.停车等方面有着广泛应用,在网上也有很多种基于OpenCV方案进行识别,本文是综合了两种比较流行的方案,首先是提取出疑似车牌区域的轮廓,然 ...

  9. 图像处理基础知识总结1

    图像处理基础知识总结(1) 前言:从接触图像处理.生物特征识别.视频编解码.机器学习已两年有余,还没有系统的总结过,正好最近刷一下Tsinghua的Tipa课件和PKU的Digital Image P ...

  10. 图像处理基础知识系列之五:贝叶斯方法简单梳理

    图像处理基础知识系列之五:贝叶斯方法简单梳理             文章来源:                  刘未鹏        数学之美番外篇:平凡而又神奇的贝叶斯方法(作者是个技术兼心理学 ...

最新文章

  1. LeetCode 74. Search a 2D Matrix--有序矩阵查找--python,java,c++解法
  2. 两所顶尖大学,签约落地深圳!
  3. 在 Ubuntu Linux 下搜索文件和文件内容
  4. Confusion matrix
  5. 第 30 章 lvs-rrd
  6. python: 判断字符串是否为合法的json格式
  7. poj2480(利用欧拉函数的积性求解)
  8. JavaSE——面向对象进阶(封装、this、static、代码块、包、权限修饰符、main方法详解)
  9. 格灵深瞳开源全球最大最干净的人脸识别数据集:Glint360K
  10. java cookie 取不到_java中Servlet Cookie取不到值原因解决办法
  11. java生成和读取keystore_java-如何以编程方式创建新的KeyStore?
  12. 使用MyBatis select数据库查出有数据 但返回对象为null时的解决办法
  13. android adb 命令启动,如何从adb shell启动和停止android服务?
  14. vscode 路径宏_VSCode宏怎么设置?VSCode宏的添加方法!
  15. 关系代数题目小汇总——数据库
  16. 25-Web-京东登录界面
  17. 攻与防--论游戏好玩的本质
  18. ICC学习——LAB2
  19. Ghost超级技巧一家亲
  20. MFC CFileDialog使用

热门文章

  1. vimrc.local 备份
  2. CCF201703-2 学生排队
  3. 計算機二級-java11
  4. Java-当前对象this
  5. python爬取商品信息_Python基于BeautifulSoup爬取京东商品信息
  6. 数据3分钟丨华为正式捐赠欧拉操作系统;腾讯云数据库TDSQL将发布免费版;MatrixDB 4.3发布...
  7. 嘉年华回顾丨PingCAP CEO 刘奇,带你探寻TiDB...
  8. 消除单点,一篇搞定 | 架构设计篇
  9. 厉害!苏宁通过citus打造分布式数据库抗住DB高负载
  10. PMOS 和 NMOS区别