Rec 709 は scikit-image の rgb2gray 関数 でも利用されているアルゴリズムで,ITU-R Rec BT.602 とは異なるような次の重み付け平均を利用します.
なお,あらかじめ「表示関数の定義」ページを参照し,ライブラリのインポートと関数の定義を実行しておいてください.
ink_img = plt.imread('ink.png')
img = ink_img[:, :, 0:3] # アルファチャンネルを削除
h, w, a = img.shape # 画像の画素数 h : 高さ, w : 幅
c_crt_img = np.zeros((h, w))
for j in range(h):
for i in range(w):
c_crt_img[j, i] = 0.2125 * img[j, i, 0] + 0.7154 * img[j, i, 1] + 0.0721 * img[j, i, 2]
show(img)
show(c_crt_img)
以前のページと同じ場所を拡大表示すると次のようになります.また,比較のために元のカラー画像も並べて表示します.
show_zoom_with_color(img,
xlim=(50.5,59.5), ylim=(89.5, 80.5),
figsize=(6,6), fontsize=6,
show_color=False
)
show_zoom_with_color(c_crt_img,
xlim=(50.5,59.5), ylim=(89.5, 80.5),
figsize=(6,6), fontsize=6
)