Я использую камеру PointGrey GIGe и их SDK FlyCapture для считывания кадров камеры. Затем я использую 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 () приводит к сбою моей программы. Кто-нибудь испытывал это раньше? Большое спасибо!