c++ - 在没有 GUI 的情况下使用 OpenCV 捕获图像(在 Linux 控制台上)

标签 c++ linux opencv

我正在使用控制台 Linux,并且我有一个相机捕获应用程序。我需要在没有 GUI 的情况下捕获图像(相机应该启动并捕获一些图像,将其保存到磁盘并关闭)。以下代码在我的笔记本电脑上运行良好,但无法在控制台上启动。有什么建议吗?

#include "cv.h"
#include "highgui.h"

using namespace cv;

int main(int, char**)
{
    VideoCapture cap(0); // open the default camera


Mat frame;
    namedWindow("feed",1);
    for(;;)
{
    Mat frame;
    cap >> frame;   // get a new frame from camera
    imshow("feed", frame);
    imwrite("/home/zaif/output.png", frame);    
if(waitKey(1) >= 0) break;
}
    return 0;
}

最佳答案

OpenCV 2.4.6发布后有bug fixes for video capture on Linux 。直接转到 2.4.6.2,您应该会得到修复。具体来说,this revision可能是适合您的相关修复,尽管还有许多与 Android 上的视频捕获相关的其他修订也可能会影响 Linux 编译。

关于c++ - 在没有 GUI 的情况下使用 OpenCV 捕获图像(在 Linux 控制台上),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19366623/

相关文章:

linux - 在两列中搜索两个不同的字符串

opencv - 如何使用新的生成器重用现有的 CMake 变量

c++ - 裁剪图像导致越界错误

c++ - 使用 decltype 的动态多态类型推导

linux - 如何在 Linux 中调试网络堆栈

c++ - C++中的两个堆栈算法

linux - shell解析csv文件,将字段分配给变量并在多列中打印

opencv - 查找数码相机的固有参数

c++ - 带有自定义删除的 static_pointer_cast

c++ - 如何编写对Maclaurin系列Exp(x)的第n个项建模的递归函数