颜色空间转换,我们经常用到的也就两种: BGR2Gray 和 BGR2HSV:
cv2.cvtColor(image,flag)函数进行转换,flag代表转换方式
mask = cv2.inRange(hsv, lower, upper)函数:
函数很简单,参数有三个
第一个参数:hsv指的是原图
第二个参数:lower指的是图像中低于这个lower的值,图像值变为0
第三个参数:upper指的是图像中高于这个upper的值,图像值变为0
而在lower_red~upper_red之间的值变成255
import cv2
import numpy as np
green=np.uint8([[[0,255,0]]])
hsv_green=cv2.cvtColor(green,cv2.COLOR_BGR2HSV)
print(hsv_green)
打印结果如下:
现在你可以分别用 [H-100, 100, 100] 和 [H+100, 255, 255] 做上下阈值。除了这个方法之外,你可以使用任何其他图像编辑软件(例如 GIMP)或者在线转换软件找到相应的 HSV 值,但是最后别忘了调节 HSV 的范围。