函数

cv2.cvtColor(img,转化方式方式)

  • 返回值是图像对象
  • 常见的颜色空间转化方式
    • cv2.COLOR_BGR2RGBA,
    • cv2.COLOR_BGR2BGRA,
    • cv2.COLOR_BGR2GRAY,
    • cv2.COLOR_BGR2HSV,
    • cv2.COLOR_BGR2YUV
  • 空间转化方式其实本质上是数字,与变量名相当于映射
    1
    2
    3
    import cv2
    print(cv2.COLOR_BGR2HSV)
    # return 40

代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
"""
@Project :Opencv学习
@File :颜色空间转化.py
@IDE :PyCharm
@Author :咋
@Date :2023/1/11 19:59
"""
import cv2
# 创建窗口
cv2.namedWindow("window",cv2.WINDOW_NORMAL)
cv2.resizeWindow("window",(640,480))
# 读取图片
image = cv2.imread("image.jpg")
# 定义颜色转化列表
color_tran_list = [cv2.COLOR_BGR2HSV,cv2.COLOR_BGR2BGRA,cv2.COLOR_BGR2RGB,cv2.COLOR_BGR2YUV,cv2.COLOR_BGR2GRAY]

# 定义回调函数,这里的velue名称
def callback(value):
pass
# 创建trackbar控件
cv2.createTrackbar("trackbar","window",0,4,callback)
# 获取trackbar值,显示图片
while True:
index = cv2.getTrackbarPos("trackbar","window")
cvt_img = cv2.cvtColor(image,color_tran_list[index])
cv2.imshow("window",cvt_img)
if cv2.waitKey(1) == ord("q"):
break

cv2.destroyAllWindows()

image.png