8
b=ndimage.gaussian_filter(imagefile,5)   

作为python新手,无法弄清楚这一点。
如何保存b为图像,b类型为“numpy.ndarray”?

试过这些,
1。

im = Image.fromarray(b)   
im.save("newfile.jpeg")   

Error: TypeError("Cannot handle this data type")

2.

imsave('newfile.jpg', b)

Error: ValueError: 'arr' does not have a suitable array shape for any mode.

将图像保存到图像中的正确方法是ndarray什么?

编辑:

解决了:

im = Image.fromarray(b)    

im.save('newfile.jpeg')工作,我加载图像的方式是错误的,

file = Image.open("abc.jpg")      
imagefile = file.load()     

// 我在加载后使用图像文件,它没有给出正确的形状来重建图像。

// 相反如果我使用文件(即直接打开后,我可以通过上述方法保存)

4

1 回答 1

6

我认为最好的方法是使用matplotlib imshow.

使用image图书馆:

import Image
import numpy as np

x = np.array([[1, 2, 3], [4, 5, 6]], np.int32)

im = Image.fromarray(x)
im.save('test.png')

Matplotlib 版本:

import numpy as np
import matplotlib.pyplot as plt

x = np.array([[1, 2, 3], [4, 5, 6]], np.int32)
plt.imshow(x) 
plt.savefig("array")

ndarray 的输出 希望这可以帮助!

于 2012-12-10T23:52:40.240 回答