フル警告メッセージ:
[ WARN:0] global C:\projects\opencv-python\opencv\modules\videoio\src\cap_msmf.cpp (674) SourceReaderCB::~SourceReaderCB terminating async callback
_
コード:
import numpy as np
import cv2
captureDevice = cv2.VideoCapture(0) #captureDevice = camera
while True:
ret, frame = captureDevice.read()
cv2.imshow('my frame', frame)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
captureDevice.release()
cv2.destroyAllWindows()
_
説明:
[。]走るとき、my frame
ウィンドウが表示され、コードを終了すると、その警告メッセージが表示されます。
Python: 3.7.4
OpenCV (cv2): 4.1.2
OS: Windows 10
_
私はこの警告を解決することはわかりません、そしてなぜそれが私を得るのか。あなたが私を修正して理解するのを手伝ってくれることを願っています。
[。]さらに、 このリンク (このリンク)==とにかく私を助けませんでした。
前もって感謝します。
これはOpenCVのMSMFバックエンドのバグのようです。あなたはより多くの詳細を見ることができます この問題 。
この問題がLinuxプラットフォームに存在するとは思わない。だから私はWindowsのためのソリューションを提供しています。
Windowsプラットフォームの場合、バックエンドを他のものに変更することができます(最も好ましくはDirectShowバックエンド。このために、VideoCapture
に次のように追加します。
captureDevice = cv2.VideoCapture(0, cv2.CAP_DSHOW) #captureDevice = camera
これはOpenCV>=3.4
のために機能します。