TypeError: Invalid shape (14400,) for image data when plotting a simpleitk image with imshow
TypeError: Invalid shape (14400,) for image data when plotting a simpleitk image with imshow
我正在尝试用 imshow 显示一张用 simpleItk 读取的图像。图片详情如下:
size = fusedImage.GetSize()
(120, 120, 155)
type(fusedImage)
SimpleITK.SimpleITK.Image
im = fusedImage[:,:,76]
im.GetSize()
(120,120)
plt.imshow(im)
但是我收到以下错误:
TypeError: Invalid shape (14400,) for image data
有人可以告诉我我做错了什么吗?
SimpleITK.Image
在技术上类似于数组,但 NumPy 无法分辨它是什么形状。值得庆幸的是,该库提供了一种创建查看图像数据的 NumPy 数组的方法:
im_view = SimpleITK.GetArrayViewFromImage(im)
plt.imshow(im_view)
注意事项:1) 索引顺序相反,因此 im[x,y] == im_view[y,x]
,2) 您不能使用 NumPy 视图数组来改变图像,3) 如果您使用 GetArrayFromImage
想要为数据的单独副本创建一个 NumPy 数组。
我正在尝试用 imshow 显示一张用 simpleItk 读取的图像。图片详情如下:
size = fusedImage.GetSize()
(120, 120, 155)
type(fusedImage)
SimpleITK.SimpleITK.Image
im = fusedImage[:,:,76]
im.GetSize()
(120,120)
plt.imshow(im)
但是我收到以下错误:
TypeError: Invalid shape (14400,) for image data
有人可以告诉我我做错了什么吗?
SimpleITK.Image
在技术上类似于数组,但 NumPy 无法分辨它是什么形状。值得庆幸的是,该库提供了一种创建查看图像数据的 NumPy 数组的方法:
im_view = SimpleITK.GetArrayViewFromImage(im)
plt.imshow(im_view)
注意事项:1) 索引顺序相反,因此 im[x,y] == im_view[y,x]
,2) 您不能使用 NumPy 视图数组来改变图像,3) 如果您使用 GetArrayFromImage
想要为数据的单独副本创建一个 NumPy 数组。