OpenCV-9颜色空间的转换

颜色转换API:cvtColor(img,colorsapce)

cvt含义为转换 convesion(转换)

下面为示例代码:

import cv2

# callback中至少有一个参数
def callback(value):
    pass


cv2.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 最大值为4

while True:
    index = cv2.getTrackbarPos("curcolor", "color")  # 调用TrackbarPos时会返回Trackbar的当前值 范围为0-4

    cvt_img = cv2.cvtColor(img, colorspaces[index])
    cv2.imshow("color", cvt_img)

    key = cv2.waitKey(10)
    if key == ord("q"):
        break

cv2.destroyAllWindows()

注意点:

1.Opencv的默认读取行为BGR,因此图片颜色空间转换都是从BGR开始转换

2.颜色空间中的参数,例如cv2.COLOR_BGR2RGBA实际上是数值。类似于映射。

例如打印 cv2.COLOR_BGR2HSV

3.callback回调函数中至少要有一个参数,即使没有用到。

import cv2


print(cv2.COLOR_BGR2HSV)

结果如下所示:

OpenCV-9颜色空间的转换_第1张图片

你可能感兴趣的:(opencv,人工智能,计算机视觉)