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

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

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

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

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

解決済

1回答

570閲覧

画像にラベルを付与した際のplot結果がおかしい

saitosan

総合スコア5

Keras

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

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

0クリップ

投稿2021/11/08 13:18

編集2021/11/09 00:51

自作のデータセットを作成したいため、画像にラベルを付与しその画像をplotしようとしているのですが、plot結果が下記のようになってしまうのできれいに表示させたいです。
このLINKのように画像が白くならないようにplotさせたいです。

イメージ説明

from keras.preprocessing.image import ImageDataGenerator import matplotlib.pyplot as plt data_datagen = ImageDataGenerator() save_path = '/home/label_save/' classes = ['cat','dog','dolphin','octopus'] data = data_datagen.flow_from_directory('train', target_size = (256, 256), color_mode = 'rgb', classes = classes, batch_size = 1, save_to_dir = save_path, save_prefix = 'aug', save_format = 'png', class_mode = 'categorical') imgs = [] labbels = [] for i in range(12): x,y = data.next() # next()でgeneratorの要素を順番に取り出す print(x.shape) print(y.shape) imgs.append(x[0]) labbels.append(y) print(type(imgs)) label_dict = data.class_indices print(label_dict) print(label_dict['cat']) print(label_dict['dog']) print(label_dict['dolphin']) print(label_dict['octopus']) # 表示設定 fig = plt.figure(figsize=(20,20)) fig.subplots_adjust(hspace=0.5, wspace=0.5) row = 10 col = 10 for i, img in enumerate(imgs): # インデックス番号と要素をenumerateで取得できる print(img.shape) plot_num = i+1 plt.subplot(row, col, plot_num,xticks=[], yticks=[]) plt.imshow(img) plt.title('%s' %labbels[i]) plt.show()

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

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

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

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

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

退会済みユーザー

退会済みユーザー

2021/11/08 21:11

色がおかしいのか大きさがおかしいのか、どういう状態が「きれい」か書いた方がイイです。
退会済みユーザー

退会済みユーザー

2021/11/09 22:23

imgs にnp.zeros((250,250,3))のダミー画像3つをいれて表示させたところ、ちゃんと三つ真っ黒(zeros)が表示できました。 imgs.append(x[0])の部分でちゃんと画像が入っているか確認できますか? cv2.imshow("x0",x[0]) cv2.waitKey(0) のような感じで画像を逐一表示させてデバグするイメージです。もしかしたらx[0]に真っ白な画像が入っているか、matplotlibでは白以外の画素が縮小表示されたときにつぶれて真っ白になっているだけか、これで探れると思います。
saitosan

2021/11/18 05:44

逐一表示させたところなんとなくの輪郭しか表示できないので上手く画像が入っていないようでしたので、画像の入れ方を変更したところ解決できました。
guest

回答1

0

自己解決

逐一表示させたところ元の画像のなんとなくの輪郭しか表示できないので上手く画像が入っていないようでしたので、画像の入れ方を変更した。

投稿2021/11/18 05:45

saitosan

総合スコア5

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問