Я пытаюсь использовать свою веб-камеру Trust Spotlight Webcam PRO с Python и OpenCV, и у меня есть проблема с удержанием веб-камеры после завершения программы.Веб-камера по-прежнему хранится даже после завершения программы Python
Простой сценарий:
import cv2
vc = cv2.VideoCapture(1)
while True:
_, frame = vc.read()
cv2.imshow('Web cam', frame)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
vc.release()
cv2.destroyAllWindows()
Все хорошо работает, когда я подключить веб-камеру к моему ноутбуку и я бег сценария - я вижу изображение с камерой. Когда я остановлю цикл захвата, нажав клавишу «q», я бы предположил, что команда vc.release()
освобождает камеру от использования. Но после этого первого запуска я не могу запустить скрипт еще раз, потому что на этот раз я получаю сообщение об ошибке:
OpenCV Error: Assertion failed (size.width>0 && size.height>0) in cv::imshow, file ..\..\..\..\opencv\modules\highgui\src\window.cpp, line 261
Traceback (most recent call last):
File ".../sample.py", line 8, in <module>
cv2.imshow('Web cam', frame)
cv2.error: ..\..\..\..\opencv\modules\highgui\src\window.cpp:261: error: (-215) size.width>0 && size.height>0 in function cv::imshow
Я уверен, что какой-то процесс все еще держит веб-камеру. Я также не могу подключиться к этой веб-камере в это время из любой другой программы (я попробовал Skype). И я также получаю ту же ошибку, когда подключаю веб-камеру к ноутбуку, подключаюсь к веб-камере через Skype и запускаю сценарий выше.
Как я могу освободить свою веб-камеру для использования в будущем?