# 关键API cv2.cvtColor
import cv2
def callback(value):
pass
cv2.namedWindow('color', cv2.WINDOW_NORMAL)
cv2.resizeWindow('color', 640, 480)
# 读取照片, OpenCV读进来的图片默认是BGR的色彩空间.
img = cv2.imread('./cat.jpeg')
# 定义颜色空间转化列表
color_spaces = [
# 所有颜色空间的转化都是COLOR开头
cv2.COLOR_BGR2RGBA, cv2.COLOR_BGR2BGRA,
cv2.COLOR_BGR2GRAY, cv2.COLOR_BGR2HSV,
cv2.COLOR_BGR2YUV
]
# 设置trackbar
cv2.createTrackbar('trackbar', 'color', 0, 4, callback)
while True:
# 获取trarckbar的值
index =cv2.getTrackbarPos('trackbar', 'color')
# 进行颜色空间转换
cvt_img = cv2.cvtColor(img, color_spaces[index])
cv2.imshow('color', cvt_img)
key = cv2.waitKey(10)
if key == ord('q'):
break
cv2.destroyAllWindows()
trackbar是加入改变色彩空间的滑块。
主要api是
cvt_img = cv2.cvtColor(img, color_spaces[index])
其中color_spaces[]为列表,通过trackbar进行索引,而且cv2.COLOR_BGR2RGBA这个在opencv中定义的是一个数,为2。