从 npz 文件派生的可视化图像中的问题
problem in visualized image derived from npz file
我正在尝试在 npz 格式的文件中打开和可视化不同 ct 切片的图像,以便稍后继续我的 NN 分割任务。
我使用了以下代码:
data = np.load('case0005_slice060.npz')
image = data['image']
img = Image.fromarray(image,'RGB')
最后,我可以想象图像了,但似乎哪里有问题我无法理解。这是输出(问题是我可能需要解决重叠图像但我不知道如何解决)
首先,检查你有什么。您需要知道 Numpy 数组的形状和类型:
print(image.shape, image.dtype)
如果形状是 h,w,3
的形式,则可能是 RGB。如果是 h,w
形式,它很可能是灰度,您可以在从中创建 PIL Image
时将 'L'
作为模式而不是 'RGB'
,尽管您通常可以离开该模式out,它是从 Numpy 数组形状推断出来的。
然后你需要考虑dtype
。如果 np.uint8
,你就准备好了。如果除此之外,您可能需要提供 PIL 接受的 modes 之一,或者使用类似以下的内容进行转换:
img = Image.fromarray(image.astype(np.uint8))
谢谢。
我将 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)
我正在尝试在 npz 格式的文件中打开和可视化不同 ct 切片的图像,以便稍后继续我的 NN 分割任务。 我使用了以下代码:
data = np.load('case0005_slice060.npz')
image = data['image']
img = Image.fromarray(image,'RGB')
最后,我可以想象图像了,但似乎哪里有问题我无法理解。这是输出(问题是我可能需要解决重叠图像但我不知道如何解决)
首先,检查你有什么。您需要知道 Numpy 数组的形状和类型:
print(image.shape, image.dtype)
如果形状是 h,w,3
的形式,则可能是 RGB。如果是 h,w
形式,它很可能是灰度,您可以在从中创建 PIL Image
时将 'L'
作为模式而不是 'RGB'
,尽管您通常可以离开该模式out,它是从 Numpy 数组形状推断出来的。
然后你需要考虑dtype
。如果 np.uint8
,你就准备好了。如果除此之外,您可能需要提供 PIL 接受的 modes 之一,或者使用类似以下的内容进行转换:
img = Image.fromarray(image.astype(np.uint8))
谢谢。 我将 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)