Ich benutze OpenCV 2.4.9 und Python 2.7.11.Python OpenCV - VideoCapture.release() funktioniert nicht in Linux
Ich habe ein kleines Programm geschrieben, das die Kamera-Ausgabe zeigt, und wenn Sie 'q' drücken, schließt die Kamera, aber nicht die Anwendung (für die weitere Arbeit ...).
Das Problem ist, dass die Webcam nicht wirklich freigegeben ist, die LED leuchtet und wenn ich erneut versuche, es zu öffnen, heißt es, dass die Ressource beschäftigt ist, bis ich das Programm vollständig verlasse. Es funktioniert ok in Windows, obwohl ...
Hier ist der Code:
import cv2
import sys
cap = cv2.VideoCapture(0)
while True:
ret, frame = cap.read()
if frame is None:
print "BYE"
break
cv2.imshow('frame', frame)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
cap.release()
cv2.destroyAllWindows()
while True:
cv2.waitKey(1)
Was fehlt bin ich? Gibt es eine Möglichkeit, die Kamera freizugeben, ohne das Programm zu beenden? Vielen Dank im Voraus
Entfernen Sie die letzten 2 Zeilen, weil das ist, was die Anwendung hängt (egal welche Taste gedrückt wird, bleibt es dort) –
@BillalBEGUERADJ Ich weiß !! anstelle dieser Zeilen gibt es einen Code, der für mein Projekt relevant ist ... mein Punkt ist, dass die Anwendung immer auf Anwendung ist, aber die Kamera freigeben muss, ohne zu beenden – DanielY
Ich kann Ihr Problem nicht reproduzieren. Ich meine, Ihr Code funktioniert perfekt auf meinem Rechner (Ubuntu 16.04 LTS, x64 Bit) –