OpenCV回调滞后

时间:2015-06-24 17:58:12

标签: python opencv opencv3.0

我在2015年15"在Python 3.4上运行OpenCV 3 MacBook Pro。下面是一个说明我问题的最小例子:

import cv2 as cv
import numpy as np

def mouse_callback(event, x, y, flags, param):
    print("Callback!")

cv.namedWindow("Display")
cv.setMouseCallback("Display", mouse_callback)

cap = cv.VideoCapture(0)
while True:
    ret, frame = cap.read()
    cv.imshow("Display", frame)

    if cv.waitKey(1) == ord("q"):
        break

当我点击屏幕时,文字"回拨!"在终端屏幕上显示约3秒钟。我不确定为什么我会看到这么多滞后 - 我的笔记本电脑不应该太糟糕,我甚至无法运行这个简单的脚本。

此外,当我降低网络摄像头分辨率时,甚至当我用静止图像替换网络摄像头时,问题仍然存在。我用C ++重写了一个类似的程序,而C ++ OpenCV库也遇到了这种滞后。

关于如何减少或消除滞后的任何提示?

1 个答案:

答案 0 :(得分:0)

试试这个:

cap.set(3,640)
cap.set(4,480)

虽然它主要是其他问题。也许您的网络摄像头分辨率太高了。

所以试试这个:

{{1}}

将上面的代码放在while循环上面并检查。