opencv轮廓检测——绘制物体的凸包

 时间:2026-02-13 05:50:41

1、绘制轮廓:

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是为了取反色图片。

opencv轮廓检测——绘制物体的凸包

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

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

hull = cv2.convexHull(c[0])

    

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

opencv轮廓检测——绘制物体的凸包

3、第二个物体的凸包是:

hull = cv2.convexHull(c[1])

opencv轮廓检测——绘制物体的凸包

4、第三个物体的凸包:

hull = cv2.convexHull(c[2])

opencv轮廓检测——绘制物体的凸包

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

for cnt in c:

    hull = cv2.convexHull(cnt)

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

opencv轮廓检测——绘制物体的凸包

  • 怎么用visual basic自带的打包程序制作安装程序
  • pycharm调试debug入门技巧
  • python中字典的建立、读取、修改、删除,遍历
  • SignalTap的使用方法(1)
  • 如何做软件测试
  • 热门搜索
    密码箱忘记密码怎么开锁 湖州旅游景点 九寨沟旅游注意事项 人流后多久可以洗头 qq空间视频怎么下载 吃什么可以补白细胞 桂花的特点 淘宝全球购怎么申请 加拿大旅游签证 手机反应慢怎么解决