python drawcontours_2021-02-15 Python OpenCV drawContours()函数

python drawcontours_2021-02-15 Python OpenCV drawContours()函数drawContours image contours contourIdx color thickness 1 lineType LINE 8 hierarchy noArray maxLevel INT MAX offset None 该函数用于绘制轮廓线或者填充轮廓线 如果参数 那么就绘制轮廓线 如果参数 则填充轮廓线内的区域 参数 image 目标图像 contour

drawContours(image,contours,contourIdx,color,thickness = 1,lineType = LINE_8,hierarchy = noArray(),maxLevel = INT_MAX,offset = None)

该函数用于绘制轮廓线或者填充轮廓线。如果参数

math?formula=thickness%20%5Cgeq%200;那么就绘制轮廓线。如果参数

math?formula=thickness%20%3C%200;则填充轮廓线内的区域。

参数

image:目标图像。

contour:Array,所有的输入轮廓。每一条轮廓都被作为vector存储。

contourldx:整型int,用于指引需要绘制的轮廓。如果是负值,则绘制所有轮廓。

color: 用元组表示(B,G,R),const Scalar&,轮廓线的颜色。

thickness:整型int,轮廓线的粗细。如果参数

math?formula=thickness%20%5Cgeq%200;那么就绘制轮廓线。如果参数

math?formula=thickness%20%3C%200;则填充轮廓线内的区域。默认为1。

lineType:线段类型。

cv2.FILLED:全连接线

cv2.LINE_4:四连接线

cv2.LINE_8:八连接线(默认项)

cv2.LINE_AA:抗锯齿线

参考官网文档LineTypes

7.hierarchy:可选的层次结构信息。它仅在当你需要绘制一些轮廓线时被使用。(详见参数maxLevel)默认为noArray(),(返回一个空数组)

8.maxLevel:绘制轮廓线的最高级别。

如果为0,只有被指定的轮廓被绘制。

如果为1,此函数绘制轮廓线和所有嵌套的轮廓线。

如果为2,此函数绘制轮廓线,所有的嵌套的轮廓线,所有嵌套的轮廓线的嵌套轮廓线。并以此类推。

此函数仅在参数 hierarchy 有效时被考虑。默认为

math?formula=2%5E%7B31%7D-1

9.offset:轮廓线的偏移值。默认为None。

测试

9ca29b5a84cc

二值化的图片

contours, hierarchy=cv2.findContours(pic, cv2.RETR_CCOMP, cv2.CHAIN_APPROX_SIMPLE)

pic1=cv2.drawContours(pic, contours, -1,color=(0,0,255),thickness=1)

#单通道图像中,color只能为黑或白色

9ca29b5a84cc

绘制轮廓线后的图片

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/232929.html原文链接:https://javaforall.net

(0)
上一篇 2025年8月30日 下午7:01
下一篇 2025年8月30日 下午7:22


相关推荐

  • 基于人脸识别的考勤系统:Python3 + Qt5 + OpenCV3 + FaceNet + MySQL

    基于人脸识别的考勤系统:Python3 + Qt5 + OpenCV3 + FaceNet + MySQL本项目使用Python3.8编写,QtDesigner(QT5)设计主界面,PyQt5库编写控件的功能,使用开源FaceNet人脸识别算法进行人脸识别,使用眨眼检测来实现活体识别,使用OpenCV3实现实时人脸识别。同时,将班级学生信息,各班级学生人数、考勤信息录入到MySQL数据库中,方便集中统一化管理。因为本项目仅由我一个人开发,能力精力有限,实现了预期的绝大多数功能,但是活体检测功能还存在bug,如果小伙伴对本项目中有不懂的地方或者发现问题,欢迎提出。

    2022年5月13日
    47
  • JS中的JSON对象 定义和取值[通俗易懂]

    JS中的JSON对象 定义和取值[通俗易懂]JS中的JSON对象 定义和取值

    2022年4月20日
    142
  • 关于计算时间复杂度和空间复杂度

    关于计算时间复杂度和空间复杂度相信学习编程的同学 或多或少都接触到算法的时间复杂度和空间复杂度了 那我来讲讲怎么计算 nbsp nbsp nbsp nbsp 常用的算法的时间复杂度和空间复杂度一 求解算法的时间复杂度 其具体步骤是 nbsp 找出算法中的基本语句 算法中执行次数最多的那条语句就是基本语句 通常是最内层循环的循环体 nbsp 计算基本语句的执行次数的数量级 只需计算基本语句执行次数的数量级 这就意

    2025年7月10日
    5
  • Bootstrap开发框架界面的调整处理

    Bootstrap开发框架界面的调整处理

    2021年6月12日
    108
  • 博客系统开发日记[通俗易懂]

    博客系统开发日记[通俗易懂]前端开发问题:设置div默认百分百比例,一定要设置html和body: html,body,.main,.sidebar{height:100%;} 如何去除Bootstarp栅格系统默认的15px的padding:https://blog.csdn.net/TsuiXh/article/details/93891357 要想兼容手机端一定记得加: <metaname=”viewp.

    2022年6月5日
    35
  • C# winform 界面美化技巧(扁平化设计)

    C# winform 界面美化技巧(扁平化设计)C#winform界面美化技巧(扁平化设计)关于C#界面美化的一些小技巧在不使用第三方控件如IrisSkin的前提下,依然可以对winform做出让人眼前一亮的美化首先,我们先来实现主界面的扁平化此处分为两个步骤,第一步是更改winform自带的MainForm窗体属性,第二步是添加窗体事件。将主窗体FormBorderStyle更改为None,这样就得到了一个无边框的窗体(w…

    2022年5月28日
    40

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号