【图像处理】opencv绘制轮廓的外接矩形和圆

 时间:2026-02-15 11:25:52

1、把图片转化为二值图片:

img1 = cv2.imread('0.png',0)

_,thresh = cv2.threshold(img1,200,255,0)

【图像处理】opencv绘制轮廓的外接矩形和圆

2、检测轮廓,并绘制轮廓:

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

image,contours,_ = cv2.findContours(thresh,2,1)

for c in contours[1:]:

    cv2.drawContours(img10,[c],0,(0,0,255),2)

【图像处理】opencv绘制轮廓的外接矩形和圆

3、绘制外接矩形,要横平竖直那种:

for c in contours[1:]:

    x, y, w, h = cv2.boundingRect(c)  # 外接矩形

    cv2.rectangle(img10,(x,y),(x+w,y+h),(0,255,0),2)

【图像处理】opencv绘制轮廓的外接矩形和圆

4、绘制最小的外接矩形:

for c in contours[1:]:

    rect = cv2.minAreaRect(c)

    box = np.int0(cv2.boxPoints(rect))

    cv2.drawContours(img10,[box],0,(255,0,0),2)

【图像处理】opencv绘制轮廓的外接矩形和圆

5、绘制最小外接圆:

for c in contours[1:]:

    (x, y), radius = cv2.minEnclosingCircle(c)

    (x, y, radius) = np.int0((x,y,radius))

    cv2.circle(img10, (x,y),radius,(255,255,0),2)

【图像处理】opencv绘制轮廓的外接矩形和圆

6、用轮廓数据来拟合椭圆:

for c in contours[1:]:

    ellipse = cv2.fitEllipse(c)

    cv2.ellipse(img10, ellipse,(255,0,255),2)

这不是外接椭圆。

【图像处理】opencv绘制轮廓的外接矩形和圆

  • 小车S档的主要作用
  • Redhat 9.0的安装全过程
  • 葡萄汁的做法
  • 有没有值得推荐的校园电影呢?
  • 气相色谱仪采样操作注意事项
  • 热门搜索
    去凤凰旅游攻略 天津塘沽旅游攻略 海南国际旅游岛建设发展规划纲要 广东省内旅游景点 济南周边旅游景点 济宁旅游景点大全 云南腾冲旅游景点 川藏旅游 旅游标识 日本北海道旅游攻略