opencv (python)에 트랙바가있는 Lab 및 YCrCb 색상 표를 만들고 싶습니다. 나는 RGB 채널을위한이 소스 코드를 가지고있다.opencv (파이썬)에서 Lab 및 YCrCb 색상 표를 만드는 방법
https://i.stack.imgur.com/ybVox.png
어떻게 실험실 채널에 YCrCb 채널로 변경 말해 하시겠습니까? 미안하지만, 초보자 일 뿐이에요.
opencv (python)에 트랙바가있는 Lab 및 YCrCb 색상 표를 만들고 싶습니다. 나는 RGB 채널을위한이 소스 코드를 가지고있다.opencv (파이썬)에서 Lab 및 YCrCb 색상 표를 만드는 방법
https://i.stack.imgur.com/ybVox.png
어떻게 실험실 채널에 YCrCb 채널로 변경 말해 하시겠습니까? 미안하지만, 초보자 일 뿐이에요.
단순히 이미지의 색 공간을 변경해야합니다. 각 구성 요소에 올바른 범위를 지정했는지 확인하십시오. 실습 예제는 다음과 같습니다. 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()
트랙바 값을 변경하는 대신 랩 값을 변경할 수 있습니다. 코드 뒤에이 명령을 추가하고 코드를 수정하십시오. imshow에서 newimg를 사용할 수 있습니다.
newimg= cv2.cvtColor(img, cv2.COLOR_Lab2BGR)
그러나 강사가 트랙볼을 다른 색상 채널로 변경하라고했습니다. RGB 옆에 어떤 컬러 채널을 사용해야하는지 제안 해 주시겠습니까? – Kimhan
그래서 YCrCb의 올바른 범위는 무엇입니까? – Kimhan