あなたはそのようにそれを行うことができます。
import numpy as np
image_data=np.zeros([1017,1017])
places=np.arange(-25,26)
centers=np.array([[200*i]*len(places) for i in range(1,len(image_data)//200+1)])
index_list=np.concatenate(centers+places)
index_list=index_list[index_list<len(image_data)]
image_data[np.ix_(index_list,index_list)]=999
ラインをimage_data=np.zeros([1000,1000])
ちょうどあなたがあなたの代わりに行列を使用することができ、上記の例のための行列を初期化します。 index_list
は、すべての関連する行と列のインデックスのリストです。
image_data[np.ix_(index_list,index_list)]=999
は、マトリックスの関連部分に999を割り当てます。 places=np.arange(-25,26)
を設定することに注意してください.50から50までの範囲(つまり、エンドポイントなどを含む175行から225行まで)を必要としていたようです。そうでない場合は、26から25に変更するか、好きなように設定することができます。
また、このコードは正方行列image_data
です。それは長方形である場合は、そのように、個別に行と列のインデックスを定義する必要があります。
import numpy as np
image_data=np.zeros([1017,2017])
places=np.arange(-25,26)
centers_rows=np.array([[200*i]*len(places) for i in range(1,len(image_data)//200+1)])
centers_columns=np.array([[200*i]*len(places) for i in range(1,len(image_data[0])//200+1)])
row_index=np.concatenate(centers_rows+places)
col_index=np.concatenate(centers_columns+places)
row_index=row_index[row_index<len(image_data)]
col_index=col_index[col_index<len(image_data[0])]
image_data[np.ix_(row_index,col_index)]=999
お返事ありがとうございます。必要に応じてどのようにアプローチすれば、200ピクセルごとに50ピクセルが変化したと言えますか?行と列の両方でおよそ175-225のように999の明るさである – cvirus96
image_dataが長方形の場合もカバーするようにコードを更新しました。 –
ガウス関数に基づいて各四角形カーネルの明るさを調整したい場合は、これをすばやく修正できますか?私が999の代わりにガウスを付けると、それは各正方形の中心ではなく、画像の中央に1つずつ作成されます。 – cvirus96