生活百科知识

经验知识首页 > 笔记本电脑 > 详细经验讲解内容页

[视频]opencv轮廓检测——绘制物体的凸包

关于雪铁龙c6opencv轮廓检测——绘制物体的凸包,期待您的经验分享,希望你能感受到,我最真诚的谢意 !
无情天魔精致 2018-10-17 10:45:19 24707人看过 分享经验到微博

更新:2024-02-18 00:33:32推荐经验

来自安居客https://www.anjuke.com/的优秀用户无情天魔精致,于2018-10-17在生活百科知识平台总结分享了一篇关于“opencv轮廓检测——绘制物体的凸包中山陵”的经验,非常感谢无情天魔精致的辛苦付出,他总结的解决技巧方法及常用办法如下:

图中有三个物体。我们要在图中,画出这三个物体各自的凸包。工具是电脑、opencv-python、python3.6。

工具/原料

电脑python3.6

方法/步骤

1/5分步阅读

绘制轮廓:

import cv2

img = cv2.imread('0.png')

img0=cv2.cvtColor(255-img,cv2.COLOR_BGR2GRAY)

_, t = cv2.threshold(img0, 0, 255, cv2.THRESH_BINARY)

_, c, _ = cv2.findContours(t, 3, 2)

for cnt in c:

cv2.drawContours(img,c,-1,(255,0,0),2)

cv2.imwrite('00.png',img)

255-img是为了取反色图片。

[图]2/5

图中有三个物体,且没有空洞,所以,len(c)=3。

单独画出第一个物体的凸包:

hull = cv2.convexHull(c[0])

cv2.polylines(img,[hull],True,(500,255,0),2)

[图]3/5

第二个物体的凸包是:

hull = cv2.convexHull(c[1])

[图]4/5

第三个物体的凸包:

hull = cv2.convexHull(c[2])

[图]5/5

用for循环,来画出所有物体的凸包:

for cnt in c:

hull = cv2.convexHull(cnt)

cv2.polylines(img,[hull],True,(500,255,0),2)

[图]

编辑于2018-10-17,内容仅供参考并受版权保护

经验备注

我发现了这篇经验很有用:你也认同《opencv轮廓检测——绘制物体的凸包》的经验分享有价值,就请和朋友们一起分享吧。另外,opencv轮廓检测——绘制物体的凸包的经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士。经验知识实用生活指南-解决你所有的生活难题!未经许可,谢绝转载。

本文网址:https://www.5058.cn/article/925f8cb8bddaefc0dce05676.html

下一篇