【发布时间】:2011-07-04 18:17:59
【问题描述】:
我正在尝试使用 OpenCV 中的函数 cvGet2D 从图像中获取信息。
我创建了一个包含 10 个 IplImage 指针的数组:
IplImage *imageArray[10];
我正在从我的网络摄像头中保存 10 张图像:
imageArray[numPicture] = cvQueryFrame(capture);
当我调用函数时:
info = cvGet2D(imageArray[0], 250, 100);
在哪里info:
CvScalar info;
我得到了错误:
OpenCV 错误:cvPtr2D 中的错误参数(无法识别或不受支持的数组类型),文件 /build/buildd/opencv-2.1.0/src/cxcore/cxarray.cpp,第 1824 行
在抛出“cv::Exception”实例后调用终止
什么():/build/buildd/opencv-2.1.0/src/cxcore/cxarray.cpp:1824:错误:(-5)函数cvPtr2D中无法识别或不支持的数组类型
如果我使用函数cvLoadImage 初始化IplImage 指针,然后将其传递给cvGet2D 函数,则代码可以正常工作:
IplImage* imagen = cvLoadImage("test0.jpg");
info = cvGet2D(imagen, 250, 100);
但是,我想使用已经存储在我的数组中的信息。
你知道我该如何解决吗?
【问题讨论】:
-
你确定 ''imageArray[0]'' 是一个有效的 IplImage 指针吗?您可以对其进行调试并查询其成员的值。
标签: opencv