OpenCV 图像颜色转换:将黄色改为白色,灰色改为黑色
要将黄色改为白色,灰色改为黑色,可以使用 OpenCV 的颜色转换函数来实现。
首先,读取图像并将其转换为 HSV 颜色空间:
import cv2
# 读取图像
image = cv2.imread('image.jpg')
# 转换为 HSV 颜色空间
hsv = cv2.cvtColor(image, cv2.COLOR_BGR2HSV)
然后,定义黄色和灰色的 HSV 值范围:
# 定义黄色的 HSV 值范围
lower_yellow = np.array([20, 100, 100])
upper_yellow = np.array([30, 255, 255])
# 定义灰色的 HSV 值范围
lower_gray = np.array([0, 0, 50])
upper_gray = np.array([180, 50, 220])
接下来,创建一个掩码来标识黄色和灰色区域:
# 创建黄色和灰色的掩码
yellow_mask = cv2.inRange(hsv, lower_yellow, upper_yellow)
gray_mask = cv2.inRange(hsv, lower_gray, upper_gray)
最后,将黄色区域设置为白色,灰色区域设置为黑色:
# 将黄色区域设置为白色
image[yellow_mask > 0] = [255, 255, 255]
# 将灰色区域设置为黑色
image[gray_mask > 0] = [0, 0, 0]
完成以上步骤后,你可以保存并显示处理后的图像:
# 保存处理后的图像
cv2.imwrite('result.jpg', image)
# 显示处理后的图像
cv2.imshow('result', image)
cv2.waitKey(0)
cv2.destroyAllWindows()
请注意,上述代码中使用了 NumPy 库的 np.array 函数来创建 HSV 值范围的数组。确保你已经导入了 numpy 库:
import numpy as np
原文地址: https://www.cveoy.top/t/topic/e0mf 著作权归作者所有。请勿转载和采集!