1

尽管我不使用矩阵,但在捕获和缩放图像数据时,我从 OpenCV 收到与矩阵相关的错误消息/异常。这是我目前的代码:

if (data->capture->grab()) // capture something from already opened device
{
    if (data->capture->retrieve(grabFrame,0)) // get the frame
    {
        CvSize size;

        size.width=data->config.width;
        size.height=data->config.height;
        nextFrame=cvCreateImage(size,32,0);
        resFrame=cvCreateImage(size,32,0); // predefined default sizes to scale the image to...
        if ((nextFrame) && (resFrame))
        {
            cvResize(&grabFrame,nextFrame,cv::INTER_AREA); // scale the image to the predefined size

--> here the Exception is thrown!

            cvCvtColor(nextFrame,resFrame,CV_BGR2RGB);
            ...
        }
        if (nextFrame) cvReleaseImage(&nextFrame);
    }
}

OpenCV 的确切输出是这样的:

OpenCV 错误:cvarrToMat 中的错误参数(未知数组类型),文件 /builddir/build/BUILD/> OpenCV-2.3.1/modules/core/src/matrix.cpp,第 646 行终止在抛出 'cv: 实例后调用:Exception' what(): /builddir/build/BUILD/OpenCV-2.3.1/modules/core/src/matrix.cpp:646: error: (-5) 函数 cvarrToMat 中的未知数组类型

中止

那么我在愚蠢而简单的缩放操作中做错了什么?

谢谢!

4

1 回答 1

0

已解决:我需要使用 cvQueryFrame() 来获取正确格式的帧。

于 2012-08-26T13:03:51.100 回答