色付き散布図のグレースケール化
要素によって青から赤にグラデーションしている散布図をモノクロ印刷すると青と赤は薄い灰色、中央は濃い灰色になり、意図した散布図ではなくなってしまった
青色を赤色に置きかえ
青を含む色をもっている場合、そのピクセルの赤と同値になるようにする。
そうすると、赤主体になり青の成分は表に出にくくなる
import cv2 # OpenCVのインポート
import numpy as np # numpyのインポート
img = cv2.imread('graph_a.png') # 画像の読み出し
img_2 = np.copy(img)
img_2[:, :, 0] = np.where((img[:, :, 0] != img[:, :, 1])|(img[:, :, 1] != img[:, :, 2]),img[:, :, 2],img[:, :, 0]) #グレースケールではないピクセルをみつけたら、Bの値をRに置き換え
gray = cv2.cvtColor(img_2, cv2.COLOR_BGR2GRAY) # グレースケール変換
cv2.imwrite('graph_a_conv.png',gray) # 画像の保存
もっと賢いやりかたがある気がする
元データから作り直すことができればベストだけど、今回は散布図画像しか入手できなかったのでこれで…