2024-10-06 06:49:11 发布
网友
我想用opencv(python)中的trackbar制作Lab和YCrCb调色板。我得到了RGB频道的源代码。在
https://i.stack.imgur.com/ybVox.png
你能告诉我怎么把它改成实验室频道和YCrCb频道吗?对不起,我只是个初学者,我真的不知道。在
你只需要改变图像的颜色空间。只需确保为每个组件设置了正确的范围。下面是实验室的一个例子。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)
你只需要改变图像的颜色空间。只需确保为每个组件设置了正确的范围。下面是实验室的一个例子。a,b的范围在-127到127之间,因此am减去127。在
您可以更改实验室值,而不是更改轨迹栏值。在您的代码之后,添加此命令并修改您的代码。你可以在imshow中使用newimg。在
相关问题 更多 >
编程相关推荐