Message complet de l'avertissement :
[ WARN:0] global C:\projects\opencv-python\opencv\modules\videoio\src\cap_msmf.cpp (674) SourceReaderCB::~SourceReaderCB terminating async callback
Code:
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()
Description :
[.____] quand il court, le my frame
Windows apparaît et lorsque je terminais le code, cela me donne ce message d'avertissement.
Python: 3.7.4
OpenCV (cv2): 4.1.2
OS: Windows 10
Je ne sais pas pour corriger cet avertissement et pourquoi ça me donne. J'espère que vous m'aiderez à résoudre et à comprendre cela.
[.____] En outre, les réponses de ce lien N'ai-t-il pas aidé de toute façon.
Merci d'avance.
Cela semble être un bogue dans le backend MSMF d'OPENCV. Vous pouvez voir plus de détails dans ce numéro .
Je ne pense pas que ce problème existe sur des plates-formes Linux. Je fournis donc la solution pour Windows.
Pour la plate-forme Windows, vous pouvez modifier le backend à autre chose (le plus préférablement DirectShow Backend. Pour cela, ajoutez à votre VideoCapture
comme ci-dessous:
captureDevice = cv2.VideoCapture(0, cv2.CAP_DSHOW) #captureDevice = camera
Cela fonctionne pour OpenCV>=3.4
.