· 

RGBからXYZ, LMS色空間への変換

(著)山拓

メモ書き。時間があれば書き直す。

LMS色空間

LMS色空間は3種類のヒト網膜錐体細胞の応答を表現する色空間です。LMSはそれぞれ、長波長(long)、中波長(medium)、短波長(short)での応答ピークにちなんで命名されています。

引用:http://www.cvrl.org/

 

RGBからXYZへの変換

$$ \left[\begin{array}{l}{X} \\ {Y} \\ {Z}\end{array}\right]=\left[\begin{array}{lll}{0.5141} & {0.3239} & {0.1604} \\ {0.2651} & {0.6702} & {0.0641} \\ {0.0241} & {0.1228} & {0.8444}\end{array}\right]\left[\begin{array}{l}{R} \\ {G} \\ {B}\end{array}\right] $$

XYZからLMSへの変換

$$ \left[\begin{array}{c}{L} \\ {M} \\ {S}\end{array}\right]=\left[\begin{array}{ccc}{0.3897} & {0.6890} & {-0.0787} \\ {-0.2298} & {1.1834} & {0.0464} \\ {0.0000} & {0.0000} & {1.0000}\end{array}\right]\left[\begin{array}{c}{X} \\ {Y} \\ {Z}\end{array}\right] $$

RGBからLMSへの変換

上の2つの変換行列の積を取ると、 $$ \left[\begin{array}{l}{L} \\ {M} \\ {S}\end{array}\right]=\left[\begin{array}{lll}{0.3811} & {0.5783} & {0.0402} \\ {0.1967} & {0.7244} & {0.0782} \\ {0.0241} & {0.1288} & {0.8444}\end{array}\right]\left[\begin{array}{l}{R} \\ {G} \\ {B}\end{array}\right] $$ となる。

コード

def RGB2LMS(img):
    R = img[:,:,0]
    G = img[:,:,1]
    B = img[:,:,2]
    
    LMS = np.zeros_like(img)
    LMS[:,:,0] = 0.3811*R + 0.5783*G + 0.0402*B
    LMS[:,:,1] = 0.1967*R + 0.7244*G + 0.0782*B
    LMS[:,:,2] = 0.0241*R + 0.1288*G + 0.8444*B
    return LMS

参考文献

・E. Reinhard, et al. Color Transfer between Images. IEEE. (2001). (pdf)

・Color Imaging: Fundamentals and Applications (English Edition) 

 

コメントをお書きください

コメント: 1
  • #1

    ヒット (木曜日, 28 7月 2022 22:42)

    結局このLMSの値で何がわかりますか。
    さらに、どういった分析に使えるでしょうか。