如何按字母顺序加载给定文件夹中的所有图像?
像这样的代码:
images = []
for img in glob.glob("images/*.jpg"):
n= cv2.imread(img)
images.append(n)
print (img)
Run Code Online (Sandbox Code Playgroud)
...返回:
...
images/IMG_9409.jpg
images/IMG_9425.jpg
images/IMG_9419.jpg
images/IMG_9376.jpg
images/IMG_9368.jpg
images/IMG_9417.jpg
...
Run Code Online (Sandbox Code Playgroud)
有没有办法获得所有图像,但顺序正确?
Cly*_*ost 17
幸运的是,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)
Run Code Online (Sandbox Code Playgroud)
编辑:现在比我第一次回答这个问题时更多地了解python,你实际上可以简化这个:
filenames = glob.glob("images/*.jpg")
filenames.sort()
images = [cv2.imread(img) for img in filenames]
for img in images:
print img
Run Code Online (Sandbox Code Playgroud)
也应该快得多.耶列表理解!
| 归档时间: |
|
| 查看次数: |
11946 次 |
| 最近记录: |