相关疑难解决方法(0)

DestroyWindow没有使用Python和OpenCV关闭Mac上的窗口

我的程序使用以下代码生成一系列窗口:

def display(img, name, fun):
    global clicked

    cv.NamedWindow(name, 1)
    cv.ShowImage(name, img)
    cv.SetMouseCallback(name, fun, img)

    while cv.WaitKey(33) == -1:
        if clicked == 1:
            clicked = 0
            cv.ShowImage(name, img)

    cv.DestroyWindow(name)
Run Code Online (Sandbox Code Playgroud)

我在gui窗口按"q"关闭它.但是,代码继续下一次调用显示功能并显示第二个gui窗口而不关闭第一个窗口.我正在使用带有OpenCV 2.1的Mac,在终端中运行该程序.我该怎么关闭gui窗户?谢谢.

python user-interface opencv

31
推荐指数
5
解决办法
3万
查看次数

当相机断开连接而不是返回“False”时,opencv videocapture 挂起/冻结

我正在使用 OpenCV-Python 3.1 遵循以下示例代码:http : //opencv-python-tutroals.readthedocs.io/en/latest/py_tutorials/py_gui/py_video_display/py_video_display.html并使用 http 摄像头流而不是默认相机,当相机物理断开连接时,videocapture 中的 read 函数永远不会返回“False”(或任何与此相关的东西),从而完全挂起/冻结程序。有谁知道如何解决这一问题?

import numpy as np
import cv2

cap = cv2.VideoCapture('http://url')

ret = True

while(ret):
    # Capture frame-by-frame
    ret, frame = cap.read()
    print(ret)
    # Our operations on the frame come here
    gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)

    # Display the resulting frame
    cv2.imshow('frame',gray)
    if cv2.waitKey(1) & 0xFF == ord('q'):
        break

# When everything done, release the capture
cap.release()
cv2.destroyAllWindows()
Run Code Online (Sandbox Code Playgroud)

c++ python video camera opencv

4
推荐指数
1
解决办法
3840
查看次数

标签 统计

opencv ×2

python ×2

c++ ×1

camera ×1

user-interface ×1

video ×1