Dec-03-2021, 09:06 AM
I think you could get something by using numpy's MaskedArray type, something along the line of
import numpy as np import numpy.ma as ma N = 10 band = 3 x = np.tile(np.arange(N, dtype=int), (N, 1)) mask = (abs(x-x.T) <= band) print(mask) m = np.repeat(mask[:,:,np.newaxis], 3, axis=2) df = np.zeros((N, N, 3), dtype=np.uint8) view = ma.masked_array(df, mask=m) view[:, 0] = 255 print(df)