【问题标题】:How to make Lab and YCrCb color palette in opencv (python)如何在opencv(python)中制作Lab和YCrCb调色板
【发布时间】:2017-10-24 12:37:40
【问题描述】:

我想在 opencv (python) 中使用轨迹栏制作 Lab 和 YCrCb 调色板。我得到了这个 RGB 通道的源代码。

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

您想告诉我如何将其更改为 Lab 频道和 YCrCb 频道吗?对不起,我只是一个初学者,我真的不知道。

【问题讨论】:

    标签: python opencv trackbar


    【解决方案1】:

    您只需要更改图像的色彩空间。只要确保为每个组件设置正确的范围即可。下面是一个带有实验室的示例。 a,b 的范围在 -127 到 127 之间,因此减去 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()
    

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

      • 但是我的讲师告诉我将轨迹栏更改为其他颜色通道。你有什么建议我应该在 RGB 旁边使用什么颜色通道?
      猜你喜欢
      • 2014-06-17
      • 2019-03-18
      • 2022-06-14
      • 1970-01-01
      • 2019-03-05
      • 1970-01-01
      • 2020-06-25
      • 1970-01-01
      • 2018-08-19
      相关资源
      最近更新 更多