在Python中显示来自Matlab mat文件的图像

4

我现在正在尝试从下载自此网站的Mat文件中显示图像。

由于这是一个.mat文件,因此我尝试使用spicy.io的load mat函数加载它,但似乎无法绘制图像。我做错了什么?

import scipy
import sklearn
from sklearn.feature_extraction import image
from scipy.io import loadmat
import matplotlib.pyplot as plt
import matplotlib.image as mpimg
images = loadmat('IMAGES.mat',variable_names='IMAGES',appendmat=True).get('IMAGES')

imgplot = plt.imshow(images[0])

plt.show()

我得到的是这个,而不是一张图片

在此输入图片描述

顺便说一下,images[0] 的输出结果为

array([[ 0.34344572,  0.12458728, -0.16325758, ...,  0.66119415,
         0.10742886,  0.45598051],
       [ 0.20327842,  0.12588207,  0.14950003, ...,  0.74659014,
        -0.04141214,  0.39051244],
       [ 0.27077097, -0.01716869,  0.27221447, ...,  0.83127338,
        -0.16380881,  0.42533499],
       ...,
       [-0.5974496 , -0.85362321, -0.30514711, ...,  0.41944146,
        -0.00949729,  0.49504656],
       [-0.58272219, -0.89612395,  0.22482066, ...,  0.31972334,
        -0.02557803,  0.47179163],
       [ 0.19115125, -0.68936276,  0.04859381, ...,  0.41277626,
        -0.08376407,  0.56580657]])

感谢您提前的支持!
1个回答

3
你需要完整的3D切片,因此应该使用 images[:,:,0]。即
imgplot = plt.imshow(images[:,:,0])

这将会产生:

result


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接