尽管XIMEA相机(MQ013CG-E2)是可以的,并且它正在使用来自ximea.com的示例简单演示程序( Win x64),但是下一个代码总是打印“未找到的ximea照相机”:
VideoCapture cap;
if (!cap.open(CV_CAP_XIAPI)) cout << "ximea camera not found";同样适用于:
CvCapture* capture = cvCreateCameraCapture(CV_CAP_XIAPI);
if (!capture) cout << "ximea camera not found";如果简单的罗技网络摄像头是连接的,那么上面的代码显示它的存在(带有CV_CAP_ANY标志)。但是openCV是无法联系到西米亚相机的。OpenCV是使用minGW从官方来源使用的带有"WITH_XIMEA“选项的cmake构建的。
有没有人通过openCV读过西美亚相机里的东西?我知道这种相机不是很流行,我甚至在这里找不到标签"ximea“(创建新标签需要1500声誉,所以这里也没有"ximea”标签)。
UPD:我可以通过xiApi.h-函数将信息从相机传输到openCV。所以摄像机肯定能用。
UPD2:我今天收到了来自ximea的新的MSVS项目示例,其中包括新的openCV 2.4.9lib。它包含代码:
capture = cvCaptureFromCAM(0); //0=default, -1=any camera, 1..99=your camera
if (!capture) cout << "no camera detected" << endl;我在MSVS中编译了它,exe开始像预期的那样使用ximea提供的opencv-libs与ximea一起工作。但是,当我试图在Eclipse中编译相同的代码并使用MinGW创建的带有"WITH_XIMEA“选项的opencv-libs时,它总是显示”没有检测到摄像头“。我检查了CMake中的所有设置,Eclipse中的“编译器包含”和"MinGW链接器库“两次,但仍然无法理解我的错误在哪里。
发布于 2014-09-29 15:12:44
我花了一些时间到处检查所有的设置,并决定通过MSVS而不是通过openCV编译minGW。然后我发现了"xiExt.h“错误(在minGW编译过程中我错过了它),我搜索了它并找到了这个错误报告。然后我在源代码中注释了一行,用minGW编译了它。开始起作用了!
它只是openCV 2.4.9的问题,因为2.4.10不再包含这个buggy的#include "xiExt.h"。
https://stackoverflow.com/questions/26026874
复制相似问题