yuxiaomu1124 2019-05-10 08:58 采纳率: 0%
浏览 166

四角点坐标未知,怎么将旋转矩形切割下来啊

图片说明
想把图片里的红色矩形框裁剪下来

  • 写回答

1条回答 默认 最新

  • 你知我知皆知 2024-08-09 10:50
    关注

    以下回答参考 皆我百晓生券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。

    要从图片中提取红色矩形区域,您可以使用Python和OpenCV库。以下是一个简单的示例,展示如何在图像上寻找并切割出一个矩形区域:

    import cv2
    import numpy as np
    
    # 图像读取
    img = cv2.imread('path_to_your_image.jpg', cv2.IMREAD_COLOR)
    
    # 将图像转换为灰度图像以提高性能
    gray_img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
    
    # 寻找红色区域
    red_mask = cv2.inRange(gray_img, (0, 0, 0), (255, 255, 255))
    
    # 使用找到的红色区域作为模板进行匹配
    template = cv2.imread('path_to_red_template.png', cv2.IMREAD_GRAYSCALE)
    res = cv2.matchTemplate(gray_img, template, cv2.TM_CCOEFF_NORMED)
    
    # 在匹配结果中找到最大值的位置
    max_loc = np.where(res >= 0.95)
    
    # 计算矩形边界
    x, y = [np.min(max_loc[1]), np.max(max_loc[1])]
    w, h = [np.max(max_loc[0]) - np.min(max_loc[0]), max_loc[1][1] - x]
    
    # 创建一个新的空白图像来存储结果
    result_img = np.zeros_like(gray_img)
    
    # 在新的空白图像上绘制矩形
    cv2.rectangle(result_img, (x, y), (x + w, y + h), 255, thickness=cv2.FILLED)
    
    # 显示结果
    cv2.imshow('Result', result_img)
    cv2.waitKey(0)
    

    注意:这个例子需要您提供图片路径、红色模板图片路径以及原始图片的颜色空间(BGR或RGB)。此外,这个代码只是一个基本的例子,并没有处理所有可能的情况,例如边缘不清晰或者颜色不是标准的红色等。

    如果您有一个具体的图片文件名,请提供详细信息以便进一步的帮助。

    评论

报告相同问题?