就像标题说的那样,我正在尝试将图像文件加载到具有Exif方向支持的numpy数组中。我这样做是为了防止face_recognition的上下颠倒图像,因为它不适用于Iphone拍摄的照片。要使用此脚本修复该问题,请执行以下操作:
import matplotlib.pyplot as plt
import image_to_numpy
img = image_to_numpy.load_image_file("my_file.jpg")
plt.imshow(img)
plt.show()
这适用于一个图像,但我想创建一个循环以对一个文件夹中的多个图像执行此操作,然后将其保存在另一个文件夹中。关于如何做到这一点的任何想法?
我找到了这个答案:https://stackoverflow.com/a/26928142/12076702。
您唯一需要做的就是将filepath
中的image=Image.open(filepath)
更改为原始图像文件路径以及此文件路径,image.save(filepath)
更改为要将图像保存到的文件路径。
您可以使用glob.glob()通过执行以下操作来获取指定目录中您选择的格式的所有图像文件路径:
import glob
import os
filepaths = glob.glob(os.path.join('path', 'to', 'my', 'directory', *.jpg'))
然后只需进行for循环,打开图像,对其进行修改,最后将它们保存在您选择的目录中。希望这会有所帮助。