可以使用OpenCV2库来实现图像中边框的识别和截取。下面是一个示例代码:

import cv2

# 读取图像
image = cv2.imread('image.jpg')

# 将图像转换为灰度图
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)

# 使用Canny算法进行边缘检测
edges = cv2.Canny(gray, 100, 130)

# 查找边缘轮廓
contours, _ = cv2.findContours(edges, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)

# 遍历每个轮廓
for contour in contours:
    # 计算轮廓的边界框
    x, y, w, h = cv2.boundingRect(contour)
    
    # 如果边界框的面积大于100并且小于130
    if w * h > 100 and w * h < 130:
        # 截取边界框内的图像
        roi = image[y:y+h, x:x+w]
        
        # 保存截取的图像
        cv2.imwrite('new_image.jpg', roi)
        break  # 如果只需要保存第一个符合条件的边框,可以添加break语句

以上代码中,首先读取图像并将其转换为灰度图。然后使用Canny算法进行边缘检测,得到图像的边缘。接着使用findContours函数查找边缘轮廓。然后遍历每个轮廓,计算轮廓的边界框,并判断边界框的面积是否在要求的范围内。如果满足条件,则截取边界框内的图像,并保存为新的图片。注意,如果只需要保存第一个符合条件的边框,可以添加break语句

利用opencv2识别图像中的大于100小于130像素的边框并截取该边框另存为新图片

原文地址: https://www.cveoy.top/t/topic/hWWH 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录