我正在使用 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() 调用都会使我的程序崩溃。以前有人经历过吗?非常感谢!