获取所有轮廓的外接矩形

获取所有轮廓的外接矩形

示例代码

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)
相关推荐
weisian151几秒前
进阶篇-4-数学篇-3--深度解析AI中的向量概念:从生活到代码,一文吃透核心逻辑
人工智能·python·生活·向量
写代码的【黑咖啡】1 分钟前
Python中的Msgpack:高效二进制序列化库
开发语言·python
MistaCloud5 分钟前
Pytorch进阶训练技巧(二)之梯度层面的优化策略
人工智能·pytorch·python·深度学习
AIFQuant12 分钟前
2026 全球股市实时行情数据 API 对比指南
python·websocket·金融·数据分析·restful
爱吃肉的鹏13 分钟前
使用Flask在本地调用树莓派摄像头
人工智能·后端·python·flask·树莓派
西柚小萌新22 分钟前
【计算机视觉CV:目标检测】--3.算法原理(SPPNet、Fast R-CNN、Faster R-CNN)
算法·目标检测·计算机视觉
2501_9445264231 分钟前
Flutter for OpenHarmony 万能游戏库App实战 - 主题切换实现
android·开发语言·javascript·python·flutter·游戏·django
深蓝电商API32 分钟前
Selenium处理iframe嵌套页面实战
爬虫·python·selenium
一晌小贪欢34 分钟前
Python 健壮性进阶:精通 TCP/IP 网络编程与 requirements.txt 的最佳实践
开发语言·网络·python·网络协议·tcp/ip·python基础·python小白
weixin_3954489137 分钟前
mult_yolov5_post_copy.c_cursor
linux·人工智能·python