【发布时间】:2019-03-19 10:38:45
【问题描述】:
作为大型项目的第一步,我尝试使用 OpenCV 显示来自网络摄像头的图像:
#include <stdlib.h>
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
int
main()
{
cv::VideoCapture cap(-1);
if (!cap.isOpened())
exit(EXIT_FAILURE);
cv::Mat frame;
bool done = false;
while (!done) {
cap >> frame;
cv::imshow("webcam", frame);
done = (cv::waitKey(30) >= 0);
}
return EXIT_SUCCESS;
}
这会返回一个错误代码(!cap.isOpened() 通过,用 gdb 确认)。最初我有0 而不是-1。搜索此站点时建议使用-1,但无济于事。正如另一位用户建议的那样,我还尝试了 1 到 3。
我可以使用 mplayer 显示我的网络摄像头,更具体地说是mplayer tv:// -tv driver=v4l2。
【问题讨论】:
标签: c linux opencv webcam video4linux