如何在OpenCV中制作Lab和YCrCb颜色板(Python)

2024-10-06 06:49:11 发布

您现在位置:Python中文网/ 问答频道 /正文

我想用opencv(python)中的trackbar制作Lab和YCrCb调色板。我得到了RGB频道的源代码。在

https://i.stack.imgur.com/ybVox.png

你能告诉我怎么把它改成实验室频道和YCrCb频道吗?对不起,我只是个初学者,我真的不知道。在


Tags: httpscom源代码pngstacklabrgb频道
2条回答

你只需要改变图像的颜色空间。只需确保为每个组件设置了正确的范围。下面是实验室的一个例子。a,b的范围在-127到127之间,因此am减去127。在

import cv2
import numpy as np

def nothing(x):
    pass

img = np.zeros((300,512,3), np.uint8)
cv2.namedWindow('image')

cv2.createTrackbar('L','image',0,100,nothing)
cv2.createTrackbar('A','image',0,255,nothing)
cv2.createTrackbar('B','image',0,255,nothing)

while(1):

    cv2.imshow('image',img)
    k = cv2.waitKey(1) & 0xFF
    if k == 27:
        break

    img= cv2.cvtColor(img, cv2.COLOR_BGR2LAB)
    l = cv2.getTrackbarPos('L','image')
    a = cv2.getTrackbarPos('A','image')-127
    b = cv2.getTrackbarPos('B','image')-127
    img[:] = [l,a,b]





cv2.destroyAllWindows()

您可以更改实验室值,而不是更改轨迹栏值。在您的代码之后,添加此命令并修改您的代码。你可以在imshow中使用newimg。在

    newimg= cv2.cvtColor(img, cv2.COLOR_Lab2BGR)

相关问题 更多 >