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

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

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

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

Python 3.x

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

Python

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

Q&A

0回答

915閲覧

OpenCVで、実行が終わらない。

ForestSeo

総合スコア2722

OpenCV

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

Python 3.x

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

Python

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

0グッド

0クリップ

投稿2021/01/18 11:00

実現したいこと

OpenCVでリアルタイムの顔認証をやってみたが、windowを閉じた後コマンドプロンプトが終わらない

該当のソースコード

Qiitaの記事のものです。

Python

1import cv2 2 3cascade_path = "・・・/haarcascade_frontalface_default.xml" 4cascade = cv2.CascadeClassifier(cascade_path) 5color = (255, 255, 255) 6cap = cv2.VideoCapture(0) 7 8while True: 9 ret, frame = cap.read() 10 gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) 11 rect = cascade.detectMultiScale(gray, scaleFactor=1.1, minNeighbors=2, minSize=(30, 30)) 12 if len(rect) > 0: 13 for x, y, w, h in rect: 14 cv2.rectangle(frame, (x, y), (x+w, y+h), color) 15 cv2.imshow('detected', frame) 16 key = cv2.waitKey(1) 17 if key == ord('q'): 18 break 19 20cap.release() 21cv2.destroyAllWindows() 22```エラーはなく、qボタンを押したらwindowは閉じるが、コマンドプロント上で

C:\Users...>C:\Users...\main.py

←カーソルが永遠にチカチカする

```ちなみに、コードの一番最後(cv2.destroyAllWindows()のあと)にprint(0)を追加したら、windowを閉じた後0と表示されました。

Version

Python: 3.7.7
opencv-python: 4.5.1.48

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

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

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

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

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

Surpris

2021/01/18 12:47

実行されたコマンドは ``` C:\Users\...> python C:\Users\...\main.py ``` ではなく ``` C:\Users\...> C:\Users\...\main.py ``` ですか? 手元の環境(OS: Windows 10 Home)では、前者だと `q` ボタンで問題なく終了しました。 後者だとそもそも起動しませんでした。
ForestSeo

2021/01/18 23:03 編集

コマンドプロンプトでは、python を付けなくても.pyファイルは実行してくれるようです。 python ファイル名 と実行しても同じ現象でした。
jbpb0

2021/01/19 00:45

Pythonスクリプトの最後に import sys sys.exit() を追加してみたら、どうでしょうか?
Surpris

2021/01/19 03:08

たしかに `sys.exit()` すると解決する可能性がありますね。 `sys.exit()` をコードに入れている例もあるようです(例えば次): https://note.nkmk.me/python-opencv-videocapture-file-camera/ (理解が間違っているかもしれませんが、)`cv2.VideoCapture` でカメラのリソースを確保した後にリリースしているように見えてうまくいっていないのかもしれませんね。
ForestSeo

2021/01/19 09:34 編集

sys.exit() を追加しても同じ現象でした。しかし、その後に print("test_2") を追加しても、test_2はprintされませんでした
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問