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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • date和localdatetime转换_date和localdatetime

    date和localdatetime转换_date和localdatetime/***Date转换成LocalDate*@paramdate*@return*/publicstaticLocalDatedate2LocalDate(Datedate){if(null==date){returnnull;}returndate.toInstant().atZone(ZoneId.systemDefault()).toL..

    2022年10月3日
    2
  • java学习——java按值传递和按址传递

    java中的按值传递和按址传递(按引用传递),要明白这两个概念,要理解按值和按址。

    2022年2月25日
    45
  • JAVA Class类与反射

    JAVA Class类与反射关于Class类与Class对象与反射Class类与Class对象Class对象是Class类的实例,类至少包含以下信息,因此class类又可以被解构为如下部分:权限修饰符类名参数化类型(泛型信息)接口Interface注解Annotation字段Field(重点)构造器Constructor(重点)方法Methd(重点)以下图为例:整个.class文件最终都成为字节数组byte[]b,里面的构造器、方法等各个“组件”,其实也是字节。打开Class类的源代码,发现果然如此:

    2022年5月17日
    32
  • 思科交换机 flow control 交换机流控[通俗易懂]

    思科交换机 flow control 交换机流控[通俗易懂]配置IEEE802.3X流控制流控制在直连的以太端口上启用,在拥塞期间允许另一端拥塞的节点暂停链路运作来控制流量速率。如果一个端口发生拥塞并且不能接收任何更多的流量,他将通知对端端口停止发送直到这种拥塞情况消失。当本地设备在他本地检测到了任何拥塞,他能够发送一个暂停帧通知链路伙伴或者远程设备已发生拥塞。紧随收到暂停帧之后,远程设备停止发送任何…

    2022年6月5日
    91
  • Springboot文件上传机制[通俗易懂]

    Springboot文件上传机制[通俗易懂]springboot文件上传机制:1.访问路径2. 上传完成后返回访问文件地址3. 我们只需要访问返回的地址就可以访问到图片4. yaml配置文件(localpath是实际存储的地址)5. 添加配置类,进行访问地址和存储地址映射 @Value(“${file.upload.suffixPath}”) private String uploadSuffixPath; @Value(“${file.upload.localPath}”) private Strin

    2022年8月9日
    4

发表回复

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

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