0

のコーディングを試みましEyeMapCたが、期待どおりの出力が得られませんでした。

EyeMapC = 1/3(Cb 2 + Cr' 2 + Cb/Cr)

どこCr' = 255 - Cr

これが私のコードです

from __future__ import division
import cv2
import numpy as np

img = cv2.imread('img/file.jpg')
EyeMap = cv2.cvtColor(img,cv2.COLOR_BGR2YCR_CB)
y,Cr,Cb = cv2.split(EyeMap)
Q = np.square(Cb) #,dtype=np.float64)
Cr_bar = (255-Cr)
R = np.square(Cr_bar) #,dtype=np.float64)
G = Cb/Cr
EyeC = (Q/3+R/3+G/3)
#EyeC = np.mod(EyeC,255)

cv2.imshow('EyeC',EyeC)
cv2.waitKey(0)
cv2.destroyAllWindows()

Cb 2と Cr' 2は、式を入れる前に [0,255] の間で正規化する必要がありますか、それとも最終EyeC値を正規化する必要がありますか?

元の画像:元の画像

出力:出力画像

4

0 に答える 0