2016-07-30 71 views
1

如何從字母順序加載給定文件夾中的所有圖像?Python/OpenCV - 如何從字母順序加載文件夾中的所有圖像

這樣的代碼:

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 
... 

有沒有辦法讓所有的圖像,但在正確的順序?

+0

你試過排序嗎? –

回答

3

幸運的是,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 

也應該快得多。耶列表解析!

+0

這就是我一直在尋找的! :)也許這是顯而易見的解決方案,但我是新的python,我無法自己找到它。 – Ekci

相關問題