我使用PointGrey GIGe相机和他们的FlyCapture SDK来读取相机帧。然后我使用OpenCV来跟踪摄像机看到的物体。但是,每当调用camshift()OpenCV函数时,我的应用程序崩溃(没有错误)。我试图从使用相同相机录制的视频文件中读取图像,并且工作正常。所以我怀疑将相机帧从FlyCapture格式转换为OpenCV图像格式时会发生一些可疑的事情。以下是我如何进行转换:
IplImage* img;
fc2Image convertedImage;
// here I load a frame into convertedImage (converted from RAW8 to RGB)
...
// here I convert to opencv IplImage
memcpy(img->imageData, convertedImage.pData, convertedImage.dataSize);
每当我将img变量提供给我的代码时,camshift()调用会崩溃我的程序。以前有人经历过这个吗?非常感谢!