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

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

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

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

Python 3.x

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

Python

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

Q&A

3回答

5715閲覧

python OpenCV 内蔵Webカメラ使用時のエラー Ubuntu16.04

reppy

総合スコア14

OpenCV

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

Python 3.x

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

Python

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

0グッド

0クリップ

投稿2018/03/09 10:04

実現したいこと

Ubuntu 16.04のノートパソコンの内蔵カメラをpythonのOpenCVで使用したいのですが、このエラーがなんなのかわかりません。
調べてみてもいまいちわからなかったので、アドバイスお願いします。

エラーメッセージ

ウィンドウは生成されてキャプチャー映像が映るが、4〜15フレーム程度ほどで以下のエラーメッセージとともに終了する。

ASSERT: "false" in file qasciikey.cpp, line 501 Process finished with exit code 134 (interrupted by signal 6: SIGABRT)

該当のソースコード

Python

1import cv2 2 3cap = cv2.VideoCapture(0) 4 5while True: 6 ret, frame = cap.read() 7 8 cv2.imshow('window', frame) 9 10 if cv2.waitKey(10) & 0xFF == ord('q'): 11 break 12 13cap.release() 14cv2.destroyAllWindows() 15

試したこと

違うとは思っていたが一応フレームの取得エラーだと思い、以下のようにして確認したが 上記の通り取得成功フレーム分だけ'success'と出力され'error'とは出力されなかった。

Python

1 if ret: 2 print('success') 3 else: 4 print('error')

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

Python 3.5.4
OpenCV 3.4.0 # pip によるインストール

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

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

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

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

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

guest

回答3

0

ググってみると同じような現象が数件ありました。
Getting error in cv::imshow() - ASSERT: “false” in file qasciikey.cpp, line 501

Assertion error from qasciikey.cpp while running application in C++ using opencv

他回答者の’kazto’氏の指摘をさらに私であればと回答します。
waitKeyの引数で’0’は特別な意味を持ちます。(待ち続ける)。
基本的にこの関数の引数は1以上であれば待ち時間で’0’の場合はキー入力まで待ち続けると解釈しています。

それ以前に'waitKey'が参照していると思えるqasciikeyの中で何かの例外事項による強制終了のような気がします。動作時に入力を’漢字’ではなく半角入力として実行してみてみてください。入力のAPIが原因のような気がします。

投稿2018/03/10 11:04

MasahikoHirata

総合スコア3747

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

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

reppy

2018/03/13 05:43

回答ありがとうございます。 qasciikey.cppのファイルがどこにはいっているかわかりませんが、やはりエラーのファイルがどうなってるか調べてみるのが早そうですね。頑張って見てみます。
guest

0

opencv-pythonだけしか入っていないなら、opencv-contribも入れて見るとかどうでしょう?
それでもダメなら,Anacondaだったら、conda install -c conda-forge opencv とかどうでしょう?
opencvはライブラリ側の都合でうまくいかないケースもあると思うし。

投稿2018/03/09 11:45

hayata-yamamto

総合スコア31

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

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

reppy

2018/03/13 05:39

回答ありがとうございます。 pipのOpenCV3.4.0をアンインストールしてcondaフォージのopencv-contribを入れてみましたが同じエラーが出てしまいました。どうにか試行錯誤してみようと思います。ありがとうございました。
guest

0

cv2.waitKey(10)が悪さしてそうです。
いったん、10を0にしてキーをなんでも受け付けるようにしてみたらいかがでしょう。

投稿2018/03/09 10:14

kazto

総合スコア7196

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

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

reppy

2018/03/09 10:38

迅速な回答ありがとうございます。 コードの該当箇所 10を0にしてみるだけと、0にしてかつ返り値を取らず cv2.waitKey(0)としてキーを受け付ける二通り行いましたが、状況は変わりませんでした。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問