2017-02-04 8 views
1

私はプログラミングでは新しいので、私はGUIを使って画像のリサイザーを作りたいと思います。 私はguiを作ることに問題があります。 私はコードの問題の一部つかん:だから画像のリストを読み込めません。cv2.imread()

from tkinter import * 
from tkinter import filedialog 
import os, backend, glob2, cv2 

loaded_pics=[] 
picture_read=[] 
window = Tk() 

browsed_dir = StringVar() 

browsed_dir.set(filedialog.askdirectory(initialdir="/",title='Please select a directory')) 
file_path = browsed_dir.get()#+"/" 

for filename in os.listdir(file_path): 
    if filename.endswith(('.jpg', '.jpeg', '.gif', '.png')): 
     loaded_pics.append(filename) 
print(loaded_pics) 

try: 
    for images in loaded_pics: 
     imgs = cv2.imread(images, 1) 
     print(imgs) 
except: 
    print("ERROR") 


window.destroy() 
window.mainloop() 

を、私は.PNG/.JPG/.bmpファイルのリストを持っている、私はリストを印刷することができますが、私はcv2.imreadでそれらを読むことができません()、私は(imgs)を印刷すると、 "None" -sを得ました。

(私はそれが現在のディレクトリとうまく動作です。glob2でこれを行うために管理していないが、私はのFileDialogでそれを作ることができなかった。)

私は、誰かが助けることができると思います。

ありがとうございます!

+0

問題はファイルパスです。 – koger23

+0

私は2つの可能性を見ています。 opencv imreadでファイル形式がサポートされていないため、イメージを読み取ることができません(emfファイルをpngなどで保存すると発生する可能性があります)。または、ファイル名またはフォルダ名に問題があります。正しく解釈されない非ASCII文字が含まれることがあります。 – ImportanceOfBeingErnest

+0

ここにいくつかの回答があります。http://stackoverflow.com/questions/26392336/importing-images-from-a-directory-python/26392492 – user1269942

答えて

2

loaded_picsにファイル名のリストを作成しています。しかし、これにはディレクトリ名、file_pathは含まれません。したがって、imreadに電話すると、画像は実際にfile_path/filenameにありますが、あなたはfilenameを渡すだけです。したがって、cv2はファイルを見つけることができず、Noneを返します。

関連する問題