python+opencv做二值化图最小外接矩形提取

#这个代码是做二值化图部分,标记连通后取出标记值做二值化图
for uuu in range(len(props.coords)):
        	y,x = props.coords[uuu]
        	cropRectSmall[y - y0, x- x0] = 255

#这段代码是获得轮廓,我只要外轮廓即可
        
        cnts = cv2.findContours(cropRectSmall,cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_NONE)
        #print(len(contours))
        contoursimg = np.zeros((y1 - y0 + 1,x1 - x0 + 1),dtype=np.uint8)
        
#将list类型的cnts 转换为arry类型
        xxxyyy = np.array(cnts[0])
#取出冗余维度,做维度压缩
        a_sque = np.squeeze(xxxyyy)
        #print(a_sque)
#获得最小外接矩形
        rect = cv2.minAreaRect(a_sque)

#将最小外接矩形的box点提取出来        
        box = cv2.boxPoints(rect) 
        box = np.int0(box)
#画出来看看        
        cv2.drawContours(orgimgLAB, [box], 0, (255, 0, 0), 1)

这个是直接在fincounturs函数后打印出轮廓坐标来
           
for i in range(len(cnts[0])):
    #print("==num===", type(cnts[0][i]))
    a_sque = np.squeeze(cnts[0][i])
    print("=", len(a_sque))
    for j in range(len(a_sque)):
        print(a_sque[j][0])#x
        print(a_sque[j][1])#y

参考链接:

1.cv2.cv.Boxpoint()函数出错解决方法

https://blog.csdn.net/ling_xiobai/article/details/79691785

2.https://blog.csdn.net/duiwangxiaomi/article/details/92565308 框提取方法

 

  • 0
    点赞
  • 0
    评论
  • 3
    收藏
  • 打赏
    打赏
  • 扫一扫,分享海报

参与评论 您还未登录,请先 登录 后发表或查看评论
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页

打赏作者

若曦爹

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值