2017-04-21 4 views
0

Pythonでは、Matlabエンジンを使用してMatlab関数から配列を取得しています。Matlabのmlarrayから画像を抽出して表示する方法

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) 

た135x134のサイズを有する7枚のグレー画像があります。 どのように各画像を抽出してループで表示できますか?

+1

あなたのタイトルに実際の質問とは関係がないようです。それを修正してください。 – Chris

+0

名前はどうすればいいですか?出力配列の次元に問題があります。良いタイトルで私を助けてください。 @Chris – patra

+0

多分、あなたの質問にはrewordingが必要です...あなたが本当に知りたいと思うように見えます。「どのようにしてMatlabのmiarrayから画像を抽出して表示できますか?」それは配列次元とは関係がないようです。 – Chris

答えて

0

私はそれが '' numpyのには変更 How to efficiently convert Matlab engine arrays to numpy ndarray?

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

で最後の素敵な答えに応じて、それを解決しました。私は各画像を簡単に呼びます。

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