我需要能够将JPEG-XR图像转换为JPG格式,并已通过ImageMagick本身的工作。然而,我需要能够在python应用程序中做到这一点,并且一直在考虑使用Wand。Wand似乎没有正确使用指向JXR图像的路径。
with open(os.path.join(args.save_location, img_name[0], result[0]+".jxr"), "wb") as output_file:
output_file.write(result[1])
with Image(filename=os.path.join(args.save_location, img_name[0], result[0]+".jxr")) as original:
with original.convert('jpeg') as converted:
print(converted.format)
pass第一部分--创建output_file和编写结果1--运行良好。但是,当我尝试使用Python和Wand将新保存文件作为图像打开时,我得到一个错误,最终表明Wand没有在图像的正确位置进行查找:
Extracting panorama 00000
FAILED: -102=pWS->Read(pWS, szSig, sizeof(szSig))
JXRGlueJxr.c:1806
FAILED: -102=ReadContainer(pID)
JXRGlueJxr.c:1846
FAILED: -102=pDecoder->Initialize(pDecoder, pStream)
JXRGlue.c:426
FAILED: -102=pCodecFactory->CreateDecoderFromFile(args.szInputFile, &pDecoder)
e:\coding\python\sqlite panoramic image extraction tool\jxrlib\jxrencoderdecoder\jxrdecapp.c:477
JPEG XR Decoder Utility
Copyright 2013 Microsoft Corporation - All Rights Reserved
... [it outputs its help page in case of errors; snipped]
The system cannot find the file specified.
Traceback (most recent call last):
File "E:\Coding\Python\SQLite Panoramic Image Extraction Tool\SQLitePanoramicImageExtractor\trunk\PanoramicImageExtractor.py", line 88, in <module>
with Image(filename=os.path.join(args.save_location, img_name[0], result[0]+".jxr")) as original:
File "C:\Python34\lib\site-packages\wand\image.py", line 1991, in __init__
self.read(filename=filename, resolution=resolution)
File "C:\Python34\lib\site-packages\wand\image.py", line 2048, in read
self.raise_exception()
File "C:\Python34\lib\site-packages\wand\resource.py", line 222, in raise_exception
raise e
wand.exceptions.BlobError: unable to open image `C:/Users/RPALIW~1/AppData/Local/Temp/magick-14988CnJoJDwMRL4t': No such file or directory @ error/blob.c/OpenBlob/2674正如您在最后看到的,它似乎试图跑开去打开一个临时文件'C:/Users/RPALIW~1/AppData/Local/Temp/magick-14988CnJoJDwMRL4'.此时使用的文件名应该与上面几行用于将图像保存为文件的文件名完全相同,但Wand替换了其他名称吗?这看起来与我在ImageMagick中遇到的上一个问题类似,这个问题是在周末修复的(详细信息在这里:http://www.imagemagick.org/discourse-server/viewtopic.php?f=1&t=27027&p=119702#p119702)。
有没有人成功地让Wand在Python中将JXR图像作为图像打开,并转换为另一种格式?是我做错了什么,还是ImageMagick或Wand有问题?
发布于 2015-02-20 12:21:59
类似的事情正在发生在我身上。我收到一个错误:
wand.exceptions.BlobError: unable to open image `/var/tmp/magick-454874W--g1RQEK3H.ppm': No such file or directory @ error/blob.c/OpenBlob/2701给定的路径不是我试图打开的图像的文件路径i。
从文档中:
无法分配、读取或写入二进制大型对象。
我正在试着打开一个大文件。(18mb .cr)。文件大小可能是问题所在吗?
对我来说:
from wand.image import Image as WImage
with open(file_name, 'r+') as f:
with WImage(file = f) as img:
print 'Opened large image'或者:
with open(file_name, 'r+') as f:
image_binary = f.read()
with WImage(blob = image_binary) as img:
print 'Opened Large Image'成功了吗?
~维克多
https://stackoverflow.com/questions/28540980
复制相似问题