提高从MatLab数据在Python中创建.PNG图像时的性能

提高从MatLab数据在Python中创建.PNG图像时的性能,python,image,performance,matlab,Python,Image,Performance,Matlab,实际上,我正在尝试用Python创建.png图像。数据来自一个Matlab文件。 针对以下问题提出了代码的解决方案: 代码可以工作,但我正在尝试创建质量更好的图像,并优化创建图像的过程。您知道如何获得更快、高质量的解决方案吗?我使用img=scipy.misc.toimagedata[:,:,I],mode='I'测试代码,但是图像完全是黑色的。对于优化,我不知道。谢谢 代码如下: !/usr/bin/python # -*- coding: utf-8 -*- import scipy.io

实际上,我正在尝试用Python创建.png图像。数据来自一个Matlab文件。 针对以下问题提出了代码的解决方案:

代码可以工作,但我正在尝试创建质量更好的图像,并优化创建图像的过程。您知道如何获得更快、高质量的解决方案吗?我使用img=scipy.misc.toimagedata[:,:,I],mode='I'测试代码,但是图像完全是黑色的。对于优化,我不知道。谢谢

代码如下:

!/usr/bin/python
# -*- coding: utf-8 -*-
import scipy.io
import pylab as pl
import numpy as np
from scipy import misc
from glob import glob

# import file into a dictionary
fMatLab = scipy.io.loadmat('St3D', mat_dtype = True, squeeze_me = True, struct_as_record=False)

# read in the structure
data = fMatLab['St3D']
for i in range(data.shape[2]):
    misc.imsave('image_%s.png' % i, data[:,:,i] )
编辑:这对我有用

def saveImages(data, fileName):
    img = scipy.misc.toimage(data, low=0, high=255, mode='P')    
    img.save(fileName)
    return img

imP = saveImages(data[i,:,:], 'image_%s.png' % i)

你的代码要想知道哪里慢,试着优化它,如果失败了,问一个更有针对性的问题。但是图像完全是黑色的-你正在加载的垫子的数据类型是什么,矩阵数据[:,:,i]中的最小/最大值是什么?图像不是黑色的。我用以下代码解决了问题:img=scipy.misc.toimagedata[:,:,I],high=255,low=-0,mode='P'img.save'at_%s.png'%iI用这个解决方案实现我的问题