質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

1886閲覧

画像を読み込む関数を作成したい

tadapolice

総合スコア21

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

1クリップ

投稿2020/06/01 08:54

編集2020/06/01 11:27

画像を読み込む関数(load_images())を作成して画像を読み込むと,
結果がarray([], dtype=float32)になってしまいます.

load_imagesの中に問題がありますでしょうか?

def load_images(inputpath,imagesize,type_color): imglist=[] exclude_prefixes=('__','.') for root,dirs,files in os.walk(inputpath): dirs[:]=[dir for dir in dirs if not dir.startswich(exclude_prefixes)] files[:]=[file for file in files if not file.startswith(exclude_prefixes)] for fn in sorted(files): bn,ext=os.path.splitext(fn) if ext not in[".bmp",".BMP",".jpg",".JPG",".jpeg","JPEG",".png",".PNG"]: continue filename=os.path.join(root,fn) if type_color=='Color': testimage=cv2.imread(filename,cv2.IMREAD_COLOR) height,width=testimage.shape[:2] testimage=cv2.resize(testimage,(imagesize,imagesize),interpolation=cv2.INTER_AREA) testimage=np.array(testimage,dtype=np.float64) testimage=testimage[:,:,::-1] elif type_color=='Gray': testimage=cv2.imread(filename,cv2.IMREAD_GRAYSCALE) height,width=testimage.shape[:2] testimage=resize(testimage,(imagesize,imagesize),interpolation=cv2.INTER_AREA) testimage=np.array([testimage],dtype=np.float64) testimage=np.asarray(testimage,dtype=np.float64).reshape((imagesize,imagesize,1)) imgslist.append(testimage) imgsdata=np.asarray(imglist,dtype=np.float32) return imgsdata,sorted(files)

image_train,image_train_filenames=load_images("drive/My Drive/denoise/image/train",256,'Gray')

image_test,image_test_filenames=load_images("drive/My Drive/denoise/image/test",256,'Gray')
image_train ⇒array([], dtype=float32)

load_images("drive/My Drive/denoise/image/train",256,'Gray')
⇒(array([], dtype=float32),
['train1.jpg', 'train2.jpg', 'train3.jpg', 'train4.jpg'])

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

x98000

2020/06/01 09:23

で、load_images 関数はどこにあるのでしょうか
tadapolice

2020/06/01 09:41

返信ありがとうございます. 質問の内容を編集しました.
x98000

2020/06/01 10:13

で、結果のimage_train はどこで取得しているのでしょうか。
guest

回答1

0

ベストアンサー

まず、コードレビューをしっかりやりましょう。エラーが出なければ正しいとは限りません。
また、想定した結果が得られなければ、各変数が想定通りかprint(変数)を適宜入れて確認していくのも有効です。
本ソースの原因はimgslistimglistのタイプミスと思われます。再度確認してください。

投稿2020/06/01 10:29

x98000

総合スコア1096

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tadapolice

2020/06/01 11:28

返信ありがとうございます. タイプミス修正し, load_images("drive/My Drive/denoise/image/train",256,'Gray')で実行すると ⇒(array([], dtype=float32), ['train1.jpg', 'train2.jpg', 'train3.jpg', 'train4.jpg']) になります. やはり,画像の読み込みができていないでしょうか?
x98000

2020/06/01 13:22

タイプミスが修正されていないので判断出来ません。また、ソースの修正は下に表示されるプレビュー画面を見て正しく修正してください。質問で指摘したimage_trainも無関係なら削除してください。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問