【发布时间】:2019-07-15 00:33:43
【问题描述】:
我正在使用 PIL 将数千张图像从 .png 转换为 .jpg,以便我可以使用 openCV 加载图像并对其进行操作。
问题是我有一个文件,其中包含图像的位置,例如:
project/data/image/000000000.png
project/data/image/000000001.png
问题是,当我在变量中读取这些行时:
file = open("project/data/loc.txt", "r")
var = [ line[:-1] for line in file ]
我的变量 var,包含与 loc.txt 相同的行:
project/data/image/000000000.png
project/data/image/000000001.png
但是,接下来是 PIL。根据我能够找到并工作的内容,加载图像我需要将参数指定为:
Image.open(r"location")
因为我有包含一系列字符串的 var,所以使用:
image = []
for v in var:
image.append( Image.open(???????????????) )
我不知道该怎么办。
我不能连接 "r" + v,因为它想 'r"location"'(字符串中的字符串)。
我该怎么办?你有什么建议吗?我无法避免读取包含位置的文件,因为我不可能手动将每个位置键入数千次以上。
【问题讨论】:
-
试试
im = Image.open(var[0])或者,如果在你的循环中Image.open(v) -
我试过这样做,它不起作用。它会抛出错误:fp = builtins.open(filename, "rb"),但是当我尝试说 open("location", "r") 时,它也会崩溃并出现同样的错误。当我像有问题的那样输入它时:open(r"location"),它通过了。
-
尝试在循环中打印
v。 -
同样的结果。 :(
-
怎样才能得到同样的结果?它肯定会打印文件名吗?它是否正确打印它们?你的文件名中真的有非 ASCII 字符吗?
标签: python-3.x python-imaging-library