2013-06-19 141 views
1

我正在用scipy学习图像处理。我经历了一些比较基本的操作,并且保存图像。这里是我的代码:保存时Python Scipy库:保存图像

Traceback (most recent call last): 
    File "<pyshell#4>", line 1, in <module> 
    misc.imsave("image.jpg",img) 
    File "C:\Python27\lib\site-packages\scipy\misc\pilutil.py", line 158, in imsave 
    im.save(name) 
    File "C:\Python27\lib\site-packages\PIL\Image.py", line 1461, in save 
    fp = builtins.open(fp, "wb") 
IOError: [Errno 13] Permission denied: 'image.jpg' 

回答

2

尝试使用完整路径:

import scipy 
from scipy import misc 

img=misc.imread("C:\\..\\name.jpg") 

misc.imsave("image.jpg",img) 

我得到错误信息

misc.imsave(r'C:\path\image.jpg', img) 

你的错误是一个权限错误,那么可能是你无权写入当前目录。您也可以使用os.chdir(newpath)更改当前目录。

0

上面的代码创建在指定目录下的文件,但它是空的(0字节),并在IDLE产生错误:

Traceback (most recent call last): 
    File "<pyshell#9>", line 1, in <module> 
    misc.imsave(r"D:\Darek\back3.jpg", img) 
    File "C:\Python27\lib\site-packages\scipy\misc\pilutil.py", line 158, in imsave 
    im.save(name) 
    File "C:\Python27\lib\site-packages\PIL\Image.py", line 1467, in save 
    save_handler(self, fp, filename) 
    File "C:\Python27\lib\site-packages\PIL\JpegImagePlugin.py", line 557, in _save 
    ImageFile._save(im, fp, [("jpeg", (0,0)+im.size, 0, rawmode)]) 
    File "C:\Python27\lib\site-packages\PIL\ImageFile.py", line 466, in _save 
    e = Image._getencoder(im.mode, e, a, im.encoderconfig) 
    File "C:\Python27\lib\site-packages\PIL\Image.py", line 395, in _getencoder 
    return encoder(mode, *args + extra) 
TypeError: function takes at most 11 arguments (13 given) 
0

嗯,你的代码工作正常,我在dreampie壳

import scipy 
from scipy import misc 
img = misc.imread("C:/folder/name.jpg") 
misc.imsave("C:/folder2/image.jpg",img) 

我不太了解PIL,但似乎存在编码器问题。你有没有尝试过不同的图像文件的代码?

+0

与其他图像相同的问题。也许有与IDLE ...... 与IPython相同的东西。 :/ – Makaveli