デジタルカメラやディスプレイなどのデジタルデバイスでは、RGB 色空間で色を表現している。RGB 色空間では、赤(red)、緑(green)、青(blue)の 3 つの原色を任意の割合で混合させて様々な色を表現している。この 3 色は、ヒトが認識できる光スペクトルの長波長(赤)、中波長(緑)および短波長(青)付近にあたる。
OpenCV で画像を読み込むとき、デフォルトでは RGB 色空間で読み込んでいる。ただし、色の並び順が RGB ではなく、BGR である。そのため、OpenCV で読み込んだ画像を PIL のメソッドに渡すときは、BGR の並びから RGB の並びに一度変換する必要がある。
import cv2
img = cv2.imread('sample.jpg')
img_RGB = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)