补充一点,opencv里的颜色空间是BGR不是RGB,所以显示的图片颜色可能不一样
cvtColor(img, colorspace):颜色转换的关键API
import cv2
def callback(value):
pass
cv2.namedWindow('color', cv2.WINDOW_NORMAL)
cv2.resizeWindow('color', 640, 480)
# 读取照片
img = cv2.imread('F:\est01\strong.jpg', 1)
# 定义颜色空间转化列表
colorspaces = [
# 所有颜色空间的转化都是COLOR开头,
cv2.COLOR_BGR2BGRA, cv2.COLOR_BGR2RGBA,
cv2.COLOR_BGR2RGB, cv2.COLOR_BGR2HSV,
cv2.COLOR_BGR2YUV
]
# 设置trackbar
cv2.createTrackbar('trackbar', 'color', 0, 4, callback)
while True:
# 获取trackbar的值
index = cv2.getTrackbarPos('trackbar', 'color')
# 进行空间颜色转换
cvt_img = cv2.cvtColor(img, colorspaces[index])
cv2.imshow('color', cvt_img)
key = cv2.waitKey(10)
if key == ord('q'):
break
cv2.destroyAllWindows()