0

我正在尝试使用 Python 编写一个带有 openCV 的小型测试应用程序,以从网络摄像头捕获帧。我的系统非常小,因此我安装了一个带有 Fluxbox 的最小 Ubuntu。我无法使用 openCV 进行任何视频捕获。当我在更完整的 Ubuntu 安装(例如桌面、Xubuntu 甚至 Lubuntu)上尝试相同的代码时,我能够轻松捕获视频。

我的结论是我的最小 Ubuntu 安装缺少一些东西,我正在尝试找出它是什么。

至于细节:我确实看到我的相机列出了我运行“lsusb”另外,当我执行时:

cap = cv.CaptureFromCAM(0)

我确实得到了一个有效的捕获对象。但是当我尝试时:

frame = cv.QueryFrame(cap)

我得到一个空对象。

我使用 apt-get 安装了 python-opencv,而不是自己构建它。它似乎在 Xubuntu、Lubuntu 等上运行良好。

在此先感谢您的帮助

4

2 回答 2

0

我之前也遇到过同样的问题,你必须在你的电脑上安装 FFMEPG 库才能使用这个功能,然后你必须再次执行 cmake 并重新编译 opencv 库

于 2012-06-14T12:38:34.797 回答
0

如果你使用python,你可以安装

pip install opencv-python

那么你可以使用

import cv2
cap = cv2.VideoCapture(0)

while True:
    ret, img = cap.read()
    cv2.imshow('video', img)
    if cv2.waitKey(1) & 0xFF == ord('q'):
        break
cap.release()
cv2.destroyAllWindows()

它适用于任何最小设置。谢谢。

于 2018-09-20T11:09:59.253 回答