OpenCV中的轮廓

1.1什么是轮廓
轮廓可以简单认为成连续的点(连着边界)连在一起的曲线,具有相同的颜色或者灰度。轮廓在形状分析和物体的检测和识别中很有用。

  • 为了准确,要使用二值化图像。需要进行阀值化处理或者Canny边界检测。
  • 查找轮廓的函数会修改原始图像。如果之后想继续使用原始图像,应该将原始图像储存到其他变量中。
  • 在OpenCV中,查找轮廓就像在黑色背景中超白色物体。你应该记住,要找的物体应该是白色而背景应该是黑色。
    如何在一个二值图像中查找轮廓。
    函数cv2.findContours()有三个参数,第一个是输入图像,第二个是轮廓检索模式,第三个是轮廓近似方法。返回值有三个,第一个是图像,第二个是轮廓,第三个是(轮廓的)层析结构。轮廓(第二个返回值)是一个Python列表,其中储存这图像中所有轮廓。每一个轮廓都是一个Numpy数组,包含对象边界点(x,y)的坐标。
    1.2怎样绘制轮廓
    函数cv2.drawContours()可以被用来绘制轮廓。它可以根据你提供的边界点绘制任何形状。它的第一个参数是原始图像,第二个参数是轮廓,一个python列表,第三个参数是轮廓的索引(在绘制独立轮廓是很有用,当设置为-1时绘制所有轮廓)。接下来的参数是轮廓的颜色和厚度。
    在一幅图像上绘制所有的轮廓:
import numpy as np
import cv2img = cv2.imread('1024.jpg')
imgray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
ret,thresh

python opencv轮廓总结相关推荐

  1. python opencv轮廓提取_Python + Opencv2 实现轮廓提取,轮廓区域面积计算

    对图像处理时,会遇到这样一个场景:找到图像主体轮廓,这是其一,可能为了凸显轮廓,需要用指定的颜色进行标记:轮廓标记完可能任务还没有结束,还需对轮廓所勾勒的像素面积区域统计计算. 本篇文章的主要内容就是 ...

  2. Python OpenCV -- 轮廓检测 (十四)

    轮廓检测 Canny 之类的边缘检测算法可以根据像素间的差异检测出轮廓边界,但是它并没有将轮廓作为一个整体 轮廓是构成任何一个形状的边界或外形线.直方图对比和模板匹配根据色彩的分布来进行匹配,以下包括 ...

  3. python opencv轮廓检测_OpenCV 轮廓检测的实现方法

    轮廓概述 轮廓可以简单认为成将连续的点(连着边界)连在一起的曲线,具有相同的颜色或者灰度.轮廓在形状分析和物体的检测和识别中很有用. 为了更加准确,要使用二值化图像.在寻找轮廓之前,要进行阈值化处理或 ...

  4. python opencv 轮廓检测_opencv之轮廓检测与处理

    查找图像的轮廓在图像处理及应用中扮演着重要的角色. opencv中 查找轮廓的函数提供的是cv::findContours() 把查找的轮廓划到图像上cv::drawContours() 1.轮廓的查 ...

  5. python opencv轮廓检测_python opencv 来对图片(苹果)的轮廓(最大轮廓进行识别)进行...

    import cv2 as cv import numpy as np # canny边缘检测 def canny_demo(image): t = 140 canny_output = cv.Can ...

  6. Python,OpenCV轮廓属性、轮廓检测及绘制

    Python,OpenCV轮廓属性.轮廓检测及绘制 1. 效果图 2. 源码 2.1 轮廓属性 2.2 轮廓特征 参考 这篇博客将介绍OpenCV中的轮廓,轮廓的特征及属性(质心,面积,轮廓,近似轮廓 ...

  7. Python+OpenCV:图像轮廓

    Python+OpenCV:图像轮廓 轮廓是什么? 轮廓可以简单地解释为一条连接所有连续点(沿边界)的曲线,具有相同的颜色和强度. 轮廓线是形状分析.目标检测和识别的重要工具. 为了获得更好的精度,可 ...

  8. Python OpenCV GrabCut进行前景分割和提取

    Python OpenCV GrabCut进行前景分割和提取 1. 效果图 1.1 边界框GrabCut效果图 1.2 Mask GrabCut效果图 2. GrabCut原理 2.1 GrabCut ...

  9. 使用Python,OpenCV在视频中进行实时条形码检测

    使用Python,OpenCV在视频中进行实时条形码检测 1. 步骤 2. 适用场景及优化 3. 总结 4. 源码 参考 上一篇博客介绍了如何检测和查找图像中的条形码.这篇博客将进行一些优化以检测实时 ...

最新文章

  1. oracle10gr2完全卸载,Oracle10gR2Streams删除所有配置
  2. 二维码Data Matrix编码、解码使用举例
  3. 软件设计原则——依赖倒转原则
  4. python msp_Python 练习实例71
  5. java XML解析防止外部实体注入
  6. 电气与计算机学院院长论坛报告,我校电子系举办2019年电子信息学科院长论坛暨工程教育新进展研讨会...
  7. C++ Under the Hood
  8. android获取服务器时间格式,Android 获取服务器与客户端时差的实例代码
  9. linux查找、搜索字符或文件
  10. motion加树莓派打造实时监控
  11. 关于支付宝授权登录获取用户信息
  12. Shapley算法总结
  13. c语言怎么读取西门子plc数据,怎样读取西门子PLC中的程序
  14. 寒武纪加速平台(MLU200系列) 摸鱼指南(一)--- 基本概念及相关介绍
  15. 【解决方案 十二】一文彻底解决文件格式判别问题
  16. k8s: pod has unbound PersistentVolumeClaims问题解决
  17. 一个对中国房地产业忧心忡忡的金融博士生
  18. python 空数组判断
  19. 辐射剂量监测仪(一)
  20. 人类无法通过时光机器回到过去

热门文章

  1. WideCharToMultiByte和MultiByteToWideChar函数的用法(ascii转unicode unicode转ascii)
  2. java中布局管理器flowlayout,在Java中下列()方法可以把JFrame的布局管理器设为FlowLayout类型。...
  3. python将txt转换为csv_Python Pandas 三行代码将 txt 文件转换成 csv 文件
  4. oracle的故障包括用户或应用程序故障_数据库实例错误,oracle 备份恢复基础
  5. mysql注入ctf_CTF SQL注入
  6. activity中fragment 返回键不退出_分享一波阿里Android客户端面经,我竟连这都答不上来?...
  7. oracle阻塞查询,oracle 查询阻塞的sql语句
  8. 电子计算机是一种精准的仪器,常见的八种无损检测仪器
  9. mysql 减小时_如何优化我的mysql和查询?!减少查询时间?
  10. 千万别只顾着代码不上厕所