我正在执行这个脚本
from PIL import Image
im = Image.open("image.jpg")
nx, ny = im.size当我在python shell中运行它时,它运行得很好。
pytesser_v0.0.1]#env python
>>> from PIL import Image
>>> im = Image.open("image.jpg")
<PIL.JpegImagePlugin.JpegImageFile image mode=RGB size=46x24 at 0x7FA4688F16D0>但是,当我将它放入某个test.py文件并像python test.py那样运行它时,就会得到这个错误。
File "test1.py", line 17, in <module>
im = Image.open("image.jpg")
File "/usr/local/python.2.7.11/lib/python2.7/site-packages/PIL/Image.py", line 2309, in open
% (filename if filename else fp))
IOError: cannot identify image file 'image.jpg'请帮我解决这个问题,谢谢
PS:早些时候我从Image-1.1.7 setup.py安装了PIL,后来我安装了枕头,我认为问题在于机器上存在PIL和枕头库。
发布于 2022-02-12 20:32:46
看来PIL库还没有修复这个错误。
以下是我的解决方案:使用OpenCV库打开映像,然后将其转换为PIL映像
from PIL import Image
import cv2
image_path = 'Folder/My_picture.jpg'
# read image using cv2 as numpy array
cv_img = cv2.imread(image_path)
# convert the color (necessary)
cv_img = cv2.cvtColor(cv_img, cv2.COLOR_BGR2RGB)
# read as PIL image in RGB
pil_img = Image.fromarray(cv_img).convert('RGBA') 然后,您可以对它进行操作,就像使用常规PIL图像对象一样。
发布于 2016-05-09 09:06:42
确保"image.jpg“与"test1.py”位于同一个目录中。
如果不是,那么您可以移动它,或者将正确的目录放在Image.open()中。
发布于 2018-08-05 10:30:20
我也有同样的问题。
这是因为test.py没有相同的路径名。如果您在同一文件夹中工作,它将工作。
但是,我发现的解决方案是在完整路径+文件名中添加,这样它就没有歧义。
"c:\...fullpath...\image.jpg"你可以这样做:
from PIL import Image
import os
curDir = os.getcwd()
fileName = "image.jpg"
fn = curDir + "\\" + fileName
print(fn)
image = Image.open(fn)
image.show()这个很管用。如果你发现更好的话请告诉我。
https://stackoverflow.com/questions/37110509
复制相似问题