我正在嘗試在 npz 格式的檔案中打開和可視化不同 ct 切片的影像,以便稍后繼續我的 NN 分割任務。我使用了以下代碼:
data = np.load('case0005_slice060.npz')
image = data['image']
img = Image.fromarray(image,'RGB')
最后,我可以可視化影像,但似乎有一個我無法理解的問題。這是輸出(問題是我可能需要解決重疊的影像,但我不知道如何)

uj5u.com熱心網友回復:
謝謝。我對 float32 的影像進行了歸一化并洗掉了 RGB,這是最終代碼:
from numpy import load
import matplotlib.pyplot as plt
def normalize8(I):
mn = I.min()
mx = I.max()
mx -= mn
I = ((I - mn)/mx) * 255
return I.astype(np.uint8)
data = np.load('case0005_slice060.npz')
print(data.files)
image = data['image']
image=normalize8( image)
img = Image.fromarray(image)

uj5u.com熱心網友回復:
首先,檢查你有什么。您需要知道 Numpy 陣列的形狀和型別:
print(image.shape, image.dtype)
如果形狀是這種形式h,w,3,它很可能是 RGB。如果是 形式h,w,它可能是灰度的,您可以在從它'L'創建時將其作為模式PIL Image而不是'RGB',盡管您通常可以將模式排除在外,并且它是從 Numpy 陣列形狀中推斷出來的。
然后,您需要考慮dtype. 如果np.uint8,則一切就緒。如果除此之外,您可能需要提供PIL 接受的模式之一,或使用以下內容進行轉換:
img = Image.fromarray(image.astype(np.uint8))
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/439819.html
上一篇:如何將真實坐標轉換為0-1網格?
