以下是使用OpenCV 2来识别图像中的红色边框矩形,并获取该边框的像素值,并将其另存为新图片的示例代码:

import cv2

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

# 将图像转换为HSV颜色空间
hsv_image = cv2.cvtColor(image, cv2.COLOR_BGR2HSV)

# 定义红色区域的HSV阈值范围
lower_red = (0, 50, 50)
upper_red = (10, 255, 255)

# 根据阈值范围生成红色掩膜
red_mask = cv2.inRange(hsv_image, lower_red, upper_red)

# 对掩膜进行形态学操作,以排除噪声
kernel = cv2.getStructuringElement(cv2.MORPH_RECT, (5, 5))
red_mask = cv2.morphologyEx(red_mask, cv2.MORPH_OPEN, kernel)

# 在红色掩膜上查找轮廓
contours, hierarchy = cv2.findContours(red_mask, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)

# 遍历所有轮廓
for contour in contours:
    # 计算轮廓的边界矩形
    x, y, w, h = cv2.boundingRect(contour)
    
    # 绘制矩形边框
    cv2.rectangle(image, (x, y), (x+w, y+h), (0, 255, 0), 2)
    
    # 获取边框的像素值
    roi = image[y:y+h, x:x+w]
    
    # 将边框另存为新图片
    cv2.imwrite('new_image.jpg', roi)

# 显示结果图像
cv2.imshow('Result', image)
cv2.waitKey(0)
cv2.destroyAllWindows()

请确保将image.jpg替换为你要处理的图像的文件路径。程序将找到图像中的红色矩形边框,并将其另存为new_image.jpg


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

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