在最小的Ubuntu上使用OpenCV进行视频捕获

时间:2012-06-14 08:31:52

标签: python ubuntu opencv video-capture

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

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

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

cap = cv.CaptureFromCAM(0)

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

frame = cv.QueryFrame(cap)

我得到一个空对象。

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

提前感谢您的帮助

2 个答案:

答案 0 :(得分:0)

之前我有同样的问题,你必须在你的计算机上安装FFMPEG库才能使用这个功能 在你必须再次进行cmake并重新编译opencv库

之后

答案 1 :(得分: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()

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