1. 2次正方行列の対角成分に値を代入したい
正方形画像の対角成分に白い斜線を引きたい。
簡単な処理だけれどさっと適切なコードが出てこなかった。
この記事では調べて対応したコードを共有します。
2. 対応したコード : imgarray[range(64), range(64)] = 255
64×64の画像で対応したコードは下記。
code.py
imgarray[range(64), range(64)] = 255
以下で実際に試してみます。
2.1. サンプル画像作成
乱数を使用してサンプル画像を作成します。
平均126、標準偏差30の正規分布に従う乱数の64×64の白黒画像を作成します。
2.2. サンプルプログラム
対角成分に255を代入します。
example.py
import numpy as np
from PIL import Image
# create image
imgarray = np.random.normal(
126,
30,
64 * 64,
).astype(
np.uint8
).reshape(
(64, 64)
)
# replace diag value
imgarray[range(64), range(64)] = 255
# save to jpg
img = Image.fromarray(imgarray)
img.save("diag255.jpg")
diag255.jpg
対角線上に白い線が引かれていることが確認できます。