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

这篇博客主要介绍了如何使用Python结合OpenCV库处理二值化图像,提取图像的最小外接矩形。通过参考两个CSDN博客文章,解决了cv2.boxPoints()函数的错误,并详细阐述了矩形框的提取方法。
摘要由CSDN通过智能技术生成
#这个代码是做二值化图部分,标记连通后取出标记值做二值化图
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("
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值