【问题标题】:TypeError: Invalid shape (14400,) for image data when plotting a simpleitk image with imshowTypeError:使用 imshow 绘制 simpleitk 图像时,图像数据的形状无效(14400,)
【发布时间】:2021-08-24 04:21:44
【问题描述】:

我正在尝试使用 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

谁能告诉我我在这里做错了什么?

【问题讨论】:

    标签: python plot shapes imshow simpleitk


    【解决方案1】:

    SimpleITK.Image 在技术上类似于数组,但 NumPy 无法分辨它是什么形状。值得庆幸的是,该库提供了一种创建查看图像数据的 NumPy 数组的方法:

    im_view = SimpleITK.GetArrayViewFromImage(im)
    plt.imshow(im_view)
    

    几个注意事项:1)索引顺序相反,所以im[x,y] == im_view[y,x],2)你不能使用 NumPy 视图数组来改变图像,3)如果你想创建一个 NumPy 数组,请改用GetArrayFromImage数据的单独副本。

    【讨论】:

      猜你喜欢
      • 2016-07-25
      • 1970-01-01
      • 2021-05-11
      • 1970-01-01
      • 2021-03-27
      • 2020-08-12
      • 2020-11-25
      • 2015-08-08
      • 2021-07-18
      相关资源
      最近更新 更多