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

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

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

OpenCV(オープンソースコンピュータービジョン)は、1999年にインテルが開発・公開したオープンソースのコンピュータビジョン向けのクロスプラットフォームライブラリです。

Python 3.x

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

Q&A

解決済

1回答

1361閲覧

オリジナルのデータセットを確認したい

eg88

総合スコア29

OpenCV

OpenCV(オープンソースコンピュータービジョン)は、1999年にインテルが開発・公開したオープンソースのコンピュータビジョン向けのクロスプラットフォームライブラリです。

Python 3.x

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

0グッド

1クリップ

投稿2020/06/05 04:14

編集2020/06/06 05:21

前提・実現したいこと

オリジナル画像のデータセットを作ろうとしたため、以下の方の記事を参考にしました。
ここでは画像ファイルのdogとcatを、自分用のgomaとsioに置き換えて、「データセット作成:カラー画像の場合」を行いました。

https://intellectual-curiosity.tokyo/2019/07/02/%E3%82%AA%E3%83%AA%E3%82%B8%E3%83%8A%E3%83%AB%E3%81%AE%E7%94%BB%E5%83%8F%E3%81%8B%E3%82%89%E3%83%87%E3%83%BC%E3%82%BF%E3%82%BB%E3%83%83%E3%83%88%E3%82%92%E4%BD%9C%E6%88%90%E3%81%99%E3%82%8B%E6%96%B9/

しかし、エラーが出てうまくいきません。
これと似たエラーを調べると's'に因数が必要なようですが、's'がどれを指すのかが分からず、因数をどのように扱えば良いか分かりません。
どうすれば解決できるでしょうか。

発生している問題・エラーメッセージ

--------------------------------------------------------------------------- TypeError Traceback (most recent call last) <ipython-input-8-ff5fb586616f> in <module>() 36 plt.subplot(2, 2, i+1) 37 plt.axis('off') ---> 38 plt.title(label = 'goma' if y_train[i] == 0 else 'sio') 39 img_array = cv2.cvtColor(X_train[i], cv2.COLOR_BGR2RGB) 40 plt.imshow(img_array) TypeError: title() missing 1 required positional argument: 's'

該当のソースコード

python

1import matplotlib.pyplot as plt 2import os 3import cv2 4import random 5import numpy as np 6 7DATADIR = "C:/pan" 8CATEGORIES = ["goma", "sio"] 9 10IMG_SIZE = 50 11training_data = [] 12 13def create_training_data(): 14 for class_num, category in enumerate(CATEGORIES): 15 path = os.path.join(DATADIR, category) 16 for image_name in os.listdir(path): 17 try: 18 img_array = cv2.imread(os.path.join(path, image_name),) # 画像読み込み 19 img_resize_array = cv2.resize(img_array, (IMG_SIZE, IMG_SIZE)) # 画像のリサイズ 20 training_data.append([img_resize_array, class_num]) # 画像データ、ラベル情報を追加 21 except Exception as e: 22 pass 23 24create_training_data() 25 26random.shuffle(training_data) # データをシャッフル 27X_train = [] # 画像データ 28y_train = [] # ラベル情報 29 30# データセット作成 31for feature, label in training_data: 32 X_train.append(feature) 33 y_train.append(label) 34 35# numpy配列に変換 36X_train = np.array(X_train) 37y_train = np.array(y_train) 38 39# データセットの確認 40for i in range(0, 4): 41 print("学習データのラベル:", y_train[i]) 42 plt.subplot(2, 2, i+1) 43 plt.axis('off') 44 plt.title(label = 'goma' if y_train[i] == 0 else 'sio') 45 img_array = cv2.cvtColor(X_train[i], cv2.COLOR_BGR2RGB) 46 plt.imshow(img_array) 47 48plt.show()

補足情報(FW/ツールのバージョンなど)

使用環境
anaconda(python3)

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

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

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

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

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

guest

回答1

0

ベストアンサー

matplotlibのバージョンが古くないですか?
2.x.x系統だと質問文の書き方ではエラーになると思います。
3.x.xだと問題ないと思いますが。

python

1# version 2.x.xならこの書き方 2plt.title('goma' if y_train == 0 else 'sio')

特に不都合がないならバージョン3に上げたほうが良いと思います。python3ですよね?

投稿2020/06/05 16:55

hope_mucci

総合スコア4447

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

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

eg88

2020/06/06 05:56

ご回答ありがとうございます! ご指摘の通りmatplotlibをバージョンアップした後に %matplotlib inline のコードを加えた結果、うまくいきました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.49%

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

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

質問する

関連した質問