OpenCV 图像处理:识别红色边框矩形并截取保存
以下是使用OpenCV 2来识别图像中的红色边框矩形,并获取该边框的像素值,并将其另存为新图片的示例代码:\n\npython\nimport cv2\n\n# 读取原始图像\nimage = cv2.imread('image.jpg')\n\n# 将图像转换为HSV颜色空间\nhsv_image = cv2.cvtColor(image, cv2.COLOR_BGR2HSV)\n\n# 定义红色区域的HSV阈值范围\nlower_red = (0, 50, 50)\nupper_red = (10, 255, 255)\n\n# 根据阈值范围生成红色掩膜\nred_mask = cv2.inRange(hsv_image, lower_red, upper_red)\n\n# 对掩膜进行形态学操作,以排除噪声\nkernel = cv2.getStructuringElement(cv2.MORPH_RECT, (5, 5))\nred_mask = cv2.morphologyEx(red_mask, cv2.MORPH_OPEN, kernel)\n\n# 在红色掩膜上查找轮廓\ncontours, hierarchy = cv2.findContours(red_mask, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)\n\n# 遍历所有轮廓\nfor contour in contours:\n # 计算轮廓的边界矩形\n x, y, w, h = cv2.boundingRect(contour)\n \n # 绘制矩形边框\n cv2.rectangle(image, (x, y), (x+w, y+h), (0, 255, 0), 2)\n \n # 获取边框的像素值\n roi = image[y:y+h, x:x+w]\n \n # 将边框另存为新图片\n cv2.imwrite('new_image.jpg', roi)\n\n# 显示结果图像\ncv2.imshow('Result', image)\ncv2.waitKey(0)\ncv2.destroyAllWindows()\n\n\n请确保将image.jpg替换为你要处理的图像的文件路径。程序将找到图像中的红色矩形边框,并将其另存为new_image.jpg。
原文地址: https://www.cveoy.top/t/topic/pF2A 著作权归作者所有。请勿转载和采集!