Как сделать маску наложенную на разные полосы - PullRequest
0 голосов
/ 17 мая 2019

Не знаю, пойду ли я ясно, но попробую.У меня есть изображения в разные даты с 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где-то, но я не могу это интегрировать.

...