opencv(python)でトラックバーを使ってLabとYCrCbカラーパレットを作りたいと思っています。私はこのソースコードをRGBチャンネルに持っています。opencv(python)でLabとYCrCbカラーパレットを作る方法
https://i.stack.imgur.com/ybVox.png
あなたはラボチャンネルとYCrCbのチャンネルに変更する方法を教えしますか?申し訳ありません、私はちょうど初心者であり、私は本当にそれについて考えていません。
opencv(python)でトラックバーを使ってLabとYCrCbカラーパレットを作りたいと思っています。私はこのソースコードをRGBチャンネルに持っています。opencv(python)で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