簡體   English   中英

索引3D numpy數組

[英]Index a 3D numpy array

我有一個圖像,該圖像具有7個帶,每個帶6938x752像素。 我想對其進行一些處理,因此我使用一個稱為RIOS的python模塊,該模塊處理圖像的讀寫,以使用戶專注於處理。 它以塊為numpy數組的形式讀取圖像,因此處理比讀取整個圖像更有效。

它以形狀為(7,200,200)的numpy數組形式讀取圖像。 我想按像素處理數據,以便獲得每個像素的每個波段的信息。 有沒有一種方法可以索引數組,以便對圖像中的每個像素只處理7個值(每個波段一個)?

我在這里只能提供的小代碼是用於讀入,處理和寫入數據的功能。

def MASKimage(info, inputs, outputs):

    inputs.image1 = inputs.image1.astype(numpy.float32) # Read the image in as an array with shape (7, 200, 200)

    process = * Do some processing on the array which is the 7 values pixel by pixel * # has shape (1,7)

    outputs.outimage = process

您可以嘗試使用np.transposenp.reshape

inputs.image1 = input.images1.transpose((1,2,0)).reshape(200*200,7)

您可以只用一個循環就可以遍歷整個圖像來進行處理,因為每個元素代表一個具有7個波段的像素。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM