USB接続(web)カメラを、openCVで読み込んで動画表示をしたいと考えています。
ただ、openCVのreadで読み込むとBT601フォーマットYUY2⇒BGRとして変更してしまいますが、この変換式を8bitフルスケールYUY2⇒BGRで読み込む方法はありますでしょうか
私の使用しているカメラは8bitフルスケールYUY2のためYは0~255(8bitフルスケール)の範囲に情報がありますが、BT601フォーマットYUY2は16~235の範囲のためBGR変更後に
元の0~16と235~255の範囲のデータがなくなってしまっています。
cap_0 = cv2.VideoCapture(1)
while(1):
img = cap_0.read()
cv2.imshow('cap', img)
★上記コードで使用していると思われる変換式
BT601フォーマットYUY2⇒BGR:
R = 1.164(Y-16) + 1.596(Cr-128)
G = 1.164(Y-16) - 0.391(Cb-128) - 0.813(Cr-128)
B = 1.164(Y-16) + 2.018(Cb-128)
★やりたい変換式
8bitフルスケールYUY2⇒BGR:
R = 1.000Y + 1.402V
G = 1.000Y - 0.344U - 0.714V
B = 1.000Y + 1.772U
回答1件
あなたの回答
tips
プレビュー