Как сделать маску наложенную на разные полосы
Я не знаю, собираюсь ли я прояснить ситуацию, но я попробую. У меня есть изображения в разные даты с 14 полосами, соответствующими различным индексам. С первой полосой, которая является NDVI, я присвоил более высоким значениям 0,6 минимальное значение NDVI изображения. Я хотел бы, чтобы мой код применял эту маску для каждой группы. Я испробовал несколько методов, но думаю, что делаю это неправильно... Моя маска применима только к моей первой группе, и я не могу применить ее к другим. Не могли бы вы дать мне совет?
Часть моего кода, которая работает:
for image in rasters:
print(image)
name, ext = os.path.splitext(image)
if ext == '.hdr':
img = sp.open_image(ssrc_directory + image)
print(image)
im_HS = img[:,:,0]
cols = im_HS.shape[0] # Number of column
rows = im_HS.shape[1] # Number of lines
bands = im_HS.shape[2] # Number of bands
names = []
##mask NDVI
names.append('maskNDVI')
for i in range(0,cols):
for j in range(0,rows):
if im_HS[i,j] >= 0.6 :
im_HS[i,j] = np.min(im_HS)
Я старался:
img = sp.open_image(ssrc_directory + image)
print(image)
im_HS = img[:,:,:]
cols = im_HS.shape[0] # Number of column
rows = im_HS.shape[1] # Number of lines
bands = im_HS.shape[2] # Number of bands
names = []
##mask NDVI
names.append('mask')
for h in range(0,bands):
for i in range(0,cols):
for j in range(0,rows):
if im_HS[i,j,0] >= 0.6 :
im_HS[i,j,h] = np.min(im_HS)
Я также думал об использовании numpy.where, но я не могу его интегрировать.