首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python OpenCV仅在外边界上绘制轮廓

Python OpenCV仅在外边界上绘制轮廓
EN

Stack Overflow用户
提问于 2015-11-19 17:58:33
回答 2查看 8.2K关注 0票数 1

当使用OpenCV的drawContours绘制轮廓时,边界是以轮廓为中心绘制的,我只想在轮廓的外部绘制边界。

下面的图片(取自SketchUp文档)最好地解释了这一点:

drawContours像在第一个圆中一样绘制轮廓(轮廓位于绘制的边界的中间)。我只需要在轮廓的外部有边界,就像在最后一个圆圈中一样。

有没有人知道我如何才能达到这种行为?

谢谢。

EN

回答 2

Stack Overflow用户

发布于 2015-11-19 19:08:41

使用下面的代码

代码语言:javascript
复制
  _ret, contours, hierarchy = cv2.findContours(threshold, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE) 
  cv2.drawContours(img,contours , -1, (255,0,0), 1)

这里,cv2.RETR_EXTERNAL只给出了外部检测到的轮廓。

票数 1
EN

Stack Overflow用户

发布于 2015-11-20 18:28:20

假设内部核心的颜色总是均匀的,并且您预先知道核心颜色的值,我们可以简单地这样做:

代码语言:javascript
复制
#First you draw the contour on both the sides of the border.
contour_id = 0
border_thickness = 10
border_color = (185, 115, 72)
cv2.drawContours(img, contours, contour_id, border_color, border_thickness)

#Now you again draw contour but with thickness = -1 and color = Core color
border_thickness = -1
core_color = (225, 141, 98)
cv2.drawContours(img, contours, contour_id, core_color, border_thickness)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33800557

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档