输出彩色的实例分割代码
时间: 2024-05-12 15:15:13 浏览: 85
以下是一个使用Python和OpenCV库进行实例分割的示例代码,其中包括彩色输出:
```python
import cv2
import numpy as np
# 读取输入图像
img = cv2.imread('input_image.jpg')
# 定义HSV颜色范围
lower_red = np.array([0, 50, 50])
upper_red = np.array([10, 255, 255])
lower_green = np.array([50, 50, 50])
upper_green = np.array([70, 255, 255])
# 将图像从BGR颜色空间转换为HSV颜色空间
hsv_img = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
# 提取红色和绿色区域
mask_red = cv2.inRange(hsv_img, lower_red, upper_red)
mask_green = cv2.inRange(hsv_img, lower_green, upper_green)
# 对提取的区域进行形态学操作
kernel = np.ones((5,5), np.uint8)
mask_red = cv2.morphologyEx(mask_red, cv2.MORPH_OPEN, kernel)
mask_green = cv2.morphologyEx(mask_green, cv2.MORPH_OPEN, kernel)
# 在原始图像上绘制红色和绿色区域
output_img = img.copy()
output_img[np.where(mask_red==255)] = [0, 0, 255]
output_img[np.where(mask_green==255)] = [0, 255, 0]
# 显示输出图像
cv2.imshow('Output Image', output_img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
在这个示例中,我们首先读取输入图像,然后定义了红色和绿色的HSV颜色范围。接下来,我们将输入图像从BGR颜色空间转换为HSV颜色空间,并使用cv2.inRange函数提取红色和绿色区域。然后,我们对提取的区域进行形态学操作以去除噪声。最后,我们在原始图像上绘制红色和绿色区域,并使用cv2.imshow函数显示输出图像。
阅读全文