如何按字母顺序加载给定文件夹中的所有图像?
代码如下:
images = []
for img in glob.glob("images/*.jpg"):
n= cv2.imread(img)
images.append(n)
print (img)
...返回:
...
images/IMG_9409.jpg
images/IMG_9425.jpg
images/IMG_9419.jpg
images/IMG_9376.jpg
images/IMG_9368.jpg
images/IMG_9417.jpg
...
有没有办法以正确的顺序获取所有图像?
最佳答案
幸运的是,python 列表有一个内置的排序函数,可以使用 ASCII 值对字符串进行排序。就像将它放在循环之前一样简单:
filenames = [img for img in glob.glob("images/*.jpg")]
filenames.sort() # ADD THIS LINE
images = []
for img in filenames:
n= cv2.imread(img)
images.append(n)
print (img)
编辑:现在对 python 的了解比我第一次回答这个问题时多了一点,实际上你可以简化很多:
filenames = glob.glob("images/*.jpg")
filenames.sort()
images = [cv2.imread(img) for img in filenames]
for img in images:
print img
应该也快得多。是的列表理解!
关于Python/OpenCV - 如何按字母顺序从文件夹中加载所有图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38675389/