颜色转换API:cvtColor(img,colorsapce)
cvt含义为转换 convesion(转换)
下面为示例代码:
import cv2# callback中至少有一个参数
def callback(value):passcv2.namedWindow("color", cv2.WINDOW_NORMAL)
cv2.resizeWindow("color", 300, 600)img = cv2.imread("xiaoyang.jpeg")# 创建颜色空间
# 其中2 含义为to
# A 为透明度
# GRAY为黑白的照片
colorspaces = [cv2.COLOR_BGR2RGBA, cv2.COLOR_BGR2BGRA,cv2.COLOR_BGR2GRAY, cv2.COLOR_BGR2HSV,cv2.COLOR_BGR2YUV]# 0-4分别代表上面物种颜色空间
cv2.createTrackbar("curcolor", "color", 0, 4, callback)
# 最小值为0 最大值为4while True:index = cv2.getTrackbarPos("curcolor", "color") # 调用TrackbarPos时会返回Trackbar的当前值 范围为0-4cvt_img = cv2.cvtColor(img, colorspaces[index])cv2.imshow("color", cvt_img)key = cv2.waitKey(10)if key == ord("q"):breakcv2.destroyAllWindows()
注意点:
1.Opencv的默认读取行为BGR,因此图片颜色空间转换都是从BGR开始转换
2.颜色空间中的参数,例如cv2.COLOR_BGR2RGBA实际上是数值。类似于映射。
例如打印 cv2.COLOR_BGR2HSV
3.callback回调函数中至少要有一个参数,即使没有用到。
import cv2print(cv2.COLOR_BGR2HSV)
结果如下所示: