ガンマをリニアに変換 → RGB空間からXYZ空間へ変換 → 色温度変換 → XYZ空間からRGB空間へ変換 → リニアにガンマをかけてあげる
これで元データに対して、色温度のみが変わると思ってるんですが、間違いでしょうか?
また色温度変換時のマトリックスの求め方なんですが、以下の理解であっていますでしょうか?
よろしくお願いいたします。
def D65_to_6300K_Calcuation(): #D65の白色点のx, y値 xw_D65, yw_D65 = 0.3127, 0.3290 #6300Kの白色点のx, y値 xw_6300, yw_6300 = 0.314, 0.351 #x, y値からz値を求める zw_D65 = 0.3583 zw_6300 = 0.335 #Yを基準に白を正規化 Wx_ratio_D65 = xw_D65/yw_D65 Wy_ratio_D65 = yw_D65/yw_D65 Wz_ratio_D65 = zw_D65/yw_D65 Wx_ratio_6300 = xw_6300/yw_6300 Wy_ratio_6300 = yw_6300/yw_6300 Wz_ratio_6300 = zw_6300/yw_6300 #白を行列に変化 mat_white_D65_XYZ = np.matrix([[Wx_ratio_D65], [Wy_ratio_D65], [Wz_ratio_D65]]) mat_white_6300_XYZ = np.matrix([[Wx_ratio_6300], [Wy_ratio_6300], [Wz_ratio_6300]]) mat_D65_to_6300K = np.matrix([[mat_white_6300_XYZ[0,0]/mat_white_D65_XYZ[0,0], 0, 0], [0, mat_white_6300_XYZ[1,0]/mat_white_D65_XYZ[1,0],0], [0, 0, mat_white_6300_XYZ[2,0]/mat_white_D65_XYZ[2,0]]]) return mat_D65_to_6300K
あなたの回答
tips
プレビュー