2012-11-09 35 views
9

Tôi đang hiển thị video trực tiếp từ máy ảnh bằng OpenCV bằng Python. Đây là mã:Đóng cửa sổ video bằng nút "X" gần trong OpenCV, Python

capture = cv.CaptureFromCAM(0) 
if capture: 
    cv.NamedWindow("Live Video", cv.CV_WINDOW_AUTOSIZE) 
    frame = cv.QueryFrame(capture) 
    if frame: 
     cv.ShowImage("Live Video", frame)  
     cv.WaitKey(0) 

cv.DestroyWindow("Live Video") 

Bây giờ, tôi chỉ có thể đóng cửa sổ video bằng cách nhấn "esc", nhưng không có gì xảy ra khi tôi nhấp vào nút "X" gần cửa sổ của tôi. Có cách nào để thực hiện công việc đó không?

+0

Có thể trùng lặp với [OpenCV Python: Cách phát hiện xem cửa sổ có bị đóng không?] (http://stackoverflow.com/questions/35003476/opencv-python-how-to- d etect-if-a-window-is-closed) –

Trả lời

3

OpenCV không có tính năng này và chỉ xử lý các lần nhấn phím theo mặc định.

Nếu bạn muốn thực hiện việc này, bạn phải sử dụng tay cầm của trình quản lý cửa sổ tạo cửa sổ của bạn (GTK, QT, ...).

This post describes a similar issue in case you use windows. Hãy cho tôi biết nếu không;)

+0

Cảm ơn, tôi chưa nhận thấy bài đăng đó. Có, tôi đang sử dụng Cửa sổ để nó trở nên dễ dàng. – maupertius

4

Với module cv2 Python có một cách để làm điều đó, tôi đăng các giải pháp ở đây:

https://stackoverflow.com/a/37881722/2897426

bài này chỉ dành cho tham chiếu để bất kỳ ai tìm kiếm nó có thể tìm thấy nó

Các vấn đề liên quan