【问题标题】:How can I extract images from a Matlab mlarray and display them如何从 Matlab mlarray 中提取图像并显示它们
【发布时间】:2017-04-21 20:18:55
【问题描述】:

在 Python 中,我有一个使用 Matlab 引擎的来自 Matlab 函数的数组。

import matlab.engine
import numpy as N
eng = matlab.engine.start_matlab()
a= eng.func()
print(type(a))
print(N.shape(a))

控制台输出是:

 <class 'matlab.mlarray.double'>
  (135L, 134L, 7L)

其中有 7 张灰度图像,尺寸为 135x134。 如何提取每个图像并循环显示它们?

【问题讨论】:

  • 您的标题似乎与您的实际问题没有有关。请修复它。
  • 我应该给它取什么名字?我对输出数组的维度有疑问。用好标题帮助我。 @克里斯
  • 那么也许您的问题需要重新措辞......看起来您真的很想知道“如何从 Matlab mlarray 中提取图像并显示它们?”这似乎与数组维度无关。

标签: python arrays image matlab


【解决方案1】:

我根据最后一个不错的答案解决了它 How to efficiently convert Matlab engine arrays to numpy ndarray?

b = N.array(a._data).reshape(a.size, order='F')  

它将“a”更改为 Numpy。然后我简单地调用每个图像。

for i in range(0, 6):
  c = b[:,:,i] #now c is 135x134 
  plt.imshow(c)
  plt.show()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-06-25
    • 2017-04-24
    • 2012-03-26
    • 2021-04-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多