获取所有轮廓的外接矩形

获取所有轮廓的外接矩形

示例代码

python 复制代码
import cv2
def get_contours_rectangle(mask):
    h, w = mask.shape

    contours, _ = cv2.findContours(
        mask, 
        cv2.RETR_EXTERNAL, 
        cv2.CHAIN_APPROX_SIMPLE
    )
    # 获取所有轮廓的外接矩形
    min_y, max_y = h, 0
    min_x, max_x = w, 0

    for contour in contours:
        x, y, w, h = cv2.boundingRect(contour)
        min_y = min(min_y, y)
        min_x = min(min_x, x)
        max_y = max(max_y, y + h)
        max_x = max(max_x, x + w)
    w = max_x - min_x
    h = max_y - min_y

    mask_contour_rectangle = mask[min_y:max_y, min_x:max_x]
    return mask_contour_rectangle
if __name__ == '__main__':
	mask_path = "./test.png"
    mask = cv2.imread(mask_path, cv2.IMREAD_GRAYSCALE)
    mask_1 = get_contours_rectangle(mask)
    cv2.imwrite("mask_contour.png", mask_1)
相关推荐
humors2213 分钟前
检查网址连通性的python脚本
网络·python·网站·检测网址·查询网址·网址连通性·网址可访问性
2401_824697664 分钟前
mysql添加索引导致插入变慢怎么办_索引优化与异步处理方案
jvm·数据库·python
STLearner5 分钟前
CVPR 2026 | 时空时序论文总结(天气预报,交通模拟,域自适应等)
论文阅读·人工智能·深度学习·神经网络·机器学习·计算机视觉·数据挖掘
2401_824697667 分钟前
Go语言如何写负载均衡器_Go语言负载均衡器实战教程【完整】
jvm·数据库·python
m0_733565468 分钟前
CSS如何快速微调项目的间距大小_使用CSS变量批量修改值
jvm·数据库·python
woxihuan12345616 分钟前
如何为禁用按钮添加点击提示信息
jvm·数据库·python
ㄟ留恋さ寂寞22 分钟前
Golang怎么限制请求Body大小_Golang如何防止客户端发送过大的请求体【避坑】
jvm·数据库·python
Chase_______26 分钟前
【Java杂项】0.1 + 0.2 为什么不等于 0.3?IEEE 754 与 BigDecimal 精度避坑
java·开发语言·python
风之所往_26 分钟前
Python 3.2 新特性全面总结
python
geovindu28 分钟前
python: Monitor Pattern
开发语言·python·设计模式·监控模式