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

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

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

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

Python

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

解決済

opencv python 画像の判別について

22Go
22Go

総合スコア0

OpenCV

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

Python

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

1回答

0評価

0クリップ

1423閲覧

投稿2019/04/14 04:15

編集2022/01/12 10:58

作業環境
Mac OS Sierra 10.12.6
Jupiter notebook
python 3.6.2

あらかじめ学習してあるデータセットに自分でダウンロードしてきた
車の画像を読み込み、"automobile"の結果を得たいです。

python

import cv2 import numpy as np labels = ["airplene", "automobile", "bord", "cat", "deer", "dog", "frog", "hprse", "ship", "truck"] im_size = 32*32*3#幅*高さ*チャンネル数 #モデルデータ読み込み model.load_weights("cifar10-mlp-weight.h5") #opencvを使って画像を読み込む im = cv2.imread("car.jpg")#numpy配列 #色空間を変換して、リサイズ im = cv2.cvtColor(im, cv2.COLOR_BGR2RGB)#青緑赤を赤緑青に変換 im = cv2.resize(im, (32, 32))#32*32ピクセルにリサイズ plt.imshow(im)#画像を出力 plt.show() #MLPで学習した画像データに合わせる im = im.reshape(im_size).astype("float32") / 255#float32:32bit,255:255bit #予測 r = model.predict(np.array([im]), batch_size=32,verbose=1) res = r[0] #結果表示 for i, acc in enumerate(res): print(labels[i], "=", int(acc*100)) print("---") print("予測結果=", labels[res.argmax()])

car.jpgのインライン表示はできたのでパスは合っているのですが様々なエラーが出てしまい
解決できず困っています。

エラー内容はこちらです

ValueError Traceback (most recent call last) <ipython-input-12-2c80cdd11a3c> in <module>() 20 im = im.reshape(im_size).astype("float32") / 255#float32:32bit,255:255bit 21 #予測 ---> 22 r = model.predict(np.array([im]), batch_size=32,verbose=1) 23 res = r[0] 24 #結果表示 ~/.pyenv/versions/anaconda3-5.0.0/lib/python3.6/site-packages/keras/models.py in predict(self, x, batch_size, verbose, steps) 1023 self.build() 1024 return self.model.predict(x, batch_size=batch_size, verbose=verbose, -> 1025 steps=steps) 1026 1027 def predict_on_batch(self, x): ~/.pyenv/versions/anaconda3-5.0.0/lib/python3.6/site-packages/keras/engine/training.py in predict(self, x, batch_size, verbose, steps) 1822 x = _standardize_input_data(x, self._feed_input_names, 1823 self._feed_input_shapes, -> 1824 check_batch_axis=False) 1825 if self.stateful: 1826 if x[0].shape[0] > batch_size and x[0].shape[0] % batch_size != 0: ~/.pyenv/versions/anaconda3-5.0.0/lib/python3.6/site-packages/keras/engine/training.py in _standardize_input_data(data, names, shapes, check_batch_axis, exception_prefix) 111 ': expected ' + names[i] + ' to have ' + 112 str(len(shape)) + ' dimensions, but got array ' --> 113 'with shape ' + str(data_shape)) 114 if not check_batch_axis: 115 data_shape = data_shape[1:] ValueError: Error when checking : expected conv2d_1_input to have 4 dimensions, but got array with shape (1, 3072)

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

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

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

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

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

_Victorique__
_Victorique__

2019/04/14 04:53

model\.load_weights\("cifar10-mlp-weight\.h5"\) このmodelはどこから来たのでしょうか?定義されていませんが
22Go
22Go

2019/04/14 05:13

"cifar10-mlp-weight\.h5"はjupyternotebook上で学習済みで一旦保存してあり それをloadしています。
_Victorique__
_Victorique__

2019/04/14 05:16

このコード以外にライブラリのimport等をしているということでしょうか? 全部載せてもらえますか?

まだ回答がついていません

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

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

ただいまの回答率
87.20%

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

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

質問する

関連した質問

同じタグがついた質問を見る

OpenCV

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

Python

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