白黒画像(2値化画像)のうち、白色(255)の場所だけ、
自分で指定した色に変換し、カラー画像として保存する方法が知りたいです。
以下のコードで実際、2値化画像で白色だった部分を赤色に変換することは
できるのですが、for文を多用しているがために計算コストがかかってしまうので、
この方法より、簡単にできる方法をご存じの方がいらっしゃいましたら、
教えてください。よろしくお願いいたします。
import matplotlib.pyplot as plt import numpy as np img = skimage.io.imread('tamesi.jpg') #img.shape #画像のサイズは(1000, 1000) data_3d = np.zeros([1000, 1000, 3])#3次元の空の配列を定義 for m in range(0, 1000): for n in range(0, 1000): if img[m][n] == 255: data_3d[m][n][0] = 255 data_3d[m][n][1] = 0 data_3d[m][n][2] = 0 else: data_3d[m][n][0] = 0 data_3d[m][n][1] = 0 data_3d[m][n][2] = 0 plt.imshow(data_3d)
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/11/28 10:31
2020/11/28 10:57
2020/11/28 11:11