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

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

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

Kerasは、TheanoやTensorFlow/CNTK対応のラッパーライブラリです。DeepLearningの数学的部分を短いコードでネットワークとして表現することが可能。DeepLearningの最新手法を迅速に試すことができます。

機械学習

機械学習は、データからパターンを自動的に発見し、そこから知能的な判断を下すためのコンピューターアルゴリズムを指します。人工知能における課題のひとつです。

Python

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

Q&A

1回答

2238閲覧

python:ループ処理(画像分類)で画像をimageで保存しようとしたらエラーになります。。

python_2019

総合スコア68

Keras

Kerasは、TheanoやTensorFlow/CNTK対応のラッパーライブラリです。DeepLearningの数学的部分を短いコードでネットワークとして表現することが可能。DeepLearningの最新手法を迅速に試すことができます。

機械学習

機械学習は、データからパターンを自動的に発見し、そこから知能的な判断を下すためのコンピューターアルゴリズムを指します。人工知能における課題のひとつです。

Python

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

0グッド

0クリップ

投稿2020/01/17 07:43

編集2020/01/17 07:50

ループ処理(画像分類)の中で、処理済の画像をimageで順次保存しようとしたら、
エラーが出てしまいます。
image の使い方が怪しいのでしょうか、原因がよくわかりません。。
また、image 以外で画像を保存する方法はあるのでしょうか?
この辺、お詳しい方、ご指導いただければありがたいです。

import os import numpy as np import pandas as pd from keras.models import Sequential, model_from_json from keras.preprocessing.image import load_img from keras.preprocessing.image import load_img, img_to_array import glob from PIL import Image # モデルの読み込み model = model_from_json(open('dokugyo_mlp_weights.json', 'r').read()) # 重みの読み込み model.load_weights('dokugyo_mlp_weights.h5') folder = os.listdir("fruit") name=[] output=[] folder_path="ERP_2/target/" files=glob.glob(folder_path+"*.jpg") for f in files: img = load_img(f, target_size=(50, 50)) # 50×50にリサイズ img = img_to_array(img) name.append(f) # 画像データの正規化 img = img.astype('float32')/255.0 img = np.array([img]) # 予測結果を出力 y_pred = model.predict(img) y_pred = np.argmax(y_pred, axis=1) img_1 = Image.open(file) img_1.save(files) output.append(folder[int(y_pred)]) print(name,output)

エラーメッセージ

50 #img_1.save('bunrui/bunrui_1/new_img.jpg') 51 ---> 52 img_1 = Image.open(file) 53 img_1.save(files) 54 NameError: name 'file' is not defined

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

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

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

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

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

guest

回答1

0

file という変数がありませんよ。
もしかして

img_1 = Image.open(f)

だったりしませんか?

投稿2020/01/17 08:14

shiracamus

総合スコア5406

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

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

python_2019

2020/01/17 08:38

ありがとうございます。 ご指摘の修正をしましたらエラーがなくなりました。 追加でお教え頂きたいのですが、 img_1 = Image.open(f) img_1.save(f) これでsaveした場合、どうも同じフォルダにsaveされるようなのですが、これを別のフォルダにsaveする方法はあるのでしょうか? ご指導頂ければ助かります。 よろしくお願いいたします。
shiracamus

2020/01/17 08:42

Image.open(f) で正しいのかわかりませんが・・・ ファイルを開いて同じファイルにsaveしてるだけ? saveするときに img_1.save("dir/" + f) とでもすれば dir 配下に作られませんか?
shiracamus

2020/01/17 08:44

直前に作ってる img を使って Image.open(img) にするのが正しいかも?
python_2019

2020/01/17 14:16

ありがとうございます。 ご指導頂いたとおり、dirは以下のようにsaveするよう修正しました。 img_1.save("D:/ike2/jupyter/haifu(house)/20191228(img_2)/bunrui_0/" + f) そうしましたら、以下のようなエラーが出ました。 FileNotFoundError: [Errno 2] No such file or directory: 'D:/ike2/jupyter/haifu(house)/20191228(img_2)/bunrui_0/ERP_2/target\1.02040_2009_1118_IMG_0552.jpg' このエラーを見ますと、上記で指定したdirの下に勝手に階層「ERP_2/target\」が発生し+ファイル名「1.02040_2009_1118_IMG_0552.jpg」となっています。 コードの頭の方で「folder_path="ERP_2/target/"」を指定したのですが、なぜかこれが、くっついて来たみたいです。これは、どうすれば回避できますでしょうか? 何度も申し訳ございません。 よろしくお願いいたします。
shiracamus

2020/01/17 23:55 編集

変数 f が 'ERP_2/target\1.02040_2009_1118_IMG_0552.jpg' という文字列になっているのではありませんか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問