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

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

新規登録して質問してみよう
ただいま回答率
85.35%
深層学習

深層学習は、多数のレイヤのニューラルネットワークによる機械学習手法。人工知能研究の一つでディープラーニングとも呼ばれています。コンピューター自体がデータの潜在的な特徴を汲み取り、効率的で的確な判断を実現することができます。

ファイル

ファイルとは、文字列に基づいた名前又はパスからアクセスすることができる、任意の情報のブロック又は情報を格納するためのリソースです。

OpenCV

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

機械学習

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

Python

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

Q&A

1回答

629閲覧

opencvでの画像判定プログラムにおけるresizeのエラー

EishinNakano

総合スコア4

深層学習

深層学習は、多数のレイヤのニューラルネットワークによる機械学習手法。人工知能研究の一つでディープラーニングとも呼ばれています。コンピューター自体がデータの潜在的な特徴を汲み取り、効率的で的確な判断を実現することができます。

ファイル

ファイルとは、文字列に基づいた名前又はパスからアクセスすることができる、任意の情報のブロック又は情報を格納するためのリソースです。

OpenCV

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

機械学習

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

Python

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

0グッド

0クリップ

投稿2020/02/15 14:20

前提・実現したいこと

python初心者です。
OpenCVを用いて映像から特定の場面だけを抽出するプログラムを本を参考にして書いています。
その中でまず、画像にうつっている物体を学習するプログラムについてです。
特定の物体が移っている場面と映っていない場面の画像をそれぞれ100枚用意し、違うファイルに保存しています。
今回でいえば特定の物体が映っているものを"scrum_100"映っていないものを"no_scrum_100"としています。

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

C:\Users\team_\Anaconda3\envs\tf1\lib\site-packages\sklearn\externals\joblib\__init__.py:15: FutureWarning: sklearn.externals.joblib is deprecated in 0.21 and will be removed in 0.23. Please import this functionality directly from joblib, which can be installed with: pip install joblib. If this warning is raised when loading pickled models, you may need to re-serialize those models with scikit-learn 0.21+. warnings.warn(msg, category=FutureWarning) Traceback (most recent call last): File "fish_train.py", line 28, in <module> read_dir(path_noscrum, 0) File "fish_train.py", line 22, in read_dir img = cv2.resize(img, image_size) cv2.error: OpenCV(4.2.0) C:\projects\opencv-python\opencv\modules\imgproc\src\resize.cpp:4045: error: (-215:Assertion failed) !ssize.empty() in function 'cv::resize'

該当のソースコード

python3

1import cv2 2import os, glob 3from sklearn.model_selection import train_test_split 4from sklearn import datasets, metrics 5from sklearn.ensemble import RandomForestClassifier 6from sklearn.metrics import accuracy_score 7from sklearn.externals import joblib 8 9# 画像の学習サイズやパスを指定 10image_size = (64, 32) 11path = os.path.dirname(os.path.abspath(__file__)) 12path_scrum = path + '/scrum_100' 13path_noscrum = path + '/no_scrum_100' 14x = [] # 画像データ 15y = [] # ラベルデータ 16 17# 画像データを読み込んで配列に追加 --- (*1) 18def read_dir(path, label): 19 files = glob.glob(path + "/*.jpg") 20 for f in files: 21 img = cv2.imread(f) 22 img = cv2.resize(img, image_size) 23 img_data = img.reshape(-1, ) # 一次元に展開 24 x.append(img_data) 25 y.append(label) 26 27# 画像データを読み込む 28read_dir(path_noscrum, 0) 29read_dir(path_scrum, 1) 30 31# データを学習用とテスト用に分割する --- (*2) 32x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.2) 33 34# データを学習 --- (*3) 35clf = RandomForestClassifier() 36clf.fit(x_train, y_train) 37 38# 精度の確認 --- (*4) 39y_pred = clf.predict(x_test) 40print(accuracy_score(y_test, y_pred)) 41 42# データを保存 --- (*5) 43joblib.dump(clf, 'scrum.pkl') 44

試したこと

エラーについて調べましたが解決しませんでした。

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

本のサンプルコードをダウンロードし、パス名などを書き換えたものになります。
本の状況と違うこととしては、本ではファイルに保存されている画像のサイズがバラバラであるのに対し、
今回私が用意した画像は1920*720で一定です。
どうかよろしくお願いします。

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

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

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

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

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

guest

回答1

0

画像がうまく読み込めてないようです。
imreadの後ろ辺りを以下のように変更させて、正しく画像が読み込まれているか確認してみてください。

python

1 img = cv2.imread(f) 2 cv2.imshow('image',img) 3 cv2.waitKey(0) 4

投稿2020/02/15 15:26

fukatani

総合スコア626

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問