C ++:无法识别或不支持的数组类型 - opencv ARMminipc

时间:2014-03-18 09:34:33

标签: c++ opencv arm debian qt-creator

我想创建一个简单的C ++程序来显示来自webcam的输出。这是我的专业文件:

QT       += core
QT       -= gui
TARGET = camera
CONFIG   += console
CONFIG   -= app_bundle
PKGCONFIG += opencv
TEMPLATE = app
SOURCES += main.cpp
LIBS += -lopencv_core -lopencv_imgproc -lopencv_highgui

这是我的cpp文件

#include <QCoreApplication>
#include <iostream>
#include <opencv2/imgproc/imgproc.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/core/core.hpp>

using namespace std;
using namespace cv;

int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);

VideoCapture cap;
Mat cam;

namedWindow("camera",1);

for(;;)
{
    cap.open(0);
    cap>>cam;
    imshow("camera",cam);

    waitKey(10);
}

    return a.exec();
}

结果是:

  

VIDIOC_QUERYMENU:参数无效(8x)

     

libv4l2:错误设置pixformat:设备或资源繁忙

     

HIGHGUI错误:libv4l无法ioctl S_FMT

     

libv4l2:错误设置pixformat:设备或资源繁忙

     

libv4l1:错误设置pixformat:设备或资源繁忙

     

HIGHGUI错误:libv4l无法ioctl VIDIOCSPICT

     

OpenCV错误:cvGetMat中的错误标志(参数或结构字段)(无法识别或不支持的数组类型),文件/build/buildd-opencv_2.3.1-11-armhf-d9JIli/opencv-2.3.1/modules/core/ src / array.cpp,第2482行

     

在抛出'cv :: Exception'

的实例后终止调用      

what():/ build / buildd-openncv_2.3.1-11-armhf-d9JIli / opencv-2.3.1 / modules / core / src / array.cpp:line 2482:error:( - 206)无法识别或不支持函数cvGetMat

中的数组类型

当我在cpp中删除(;;)的循环时,网络摄像头将仅显示图像。不是来自网络摄像头的流媒体。

此代码适用于Windows,但它不适用于Linux或miniPC。我该如何修复我的代码?

我在ARM miniPC Cubieboard2中使用QtCreator 2.5.0 Qt4.8.2 OpenCV 2.3.1 Debian

0 个答案:

没有答案