2014-02-20 2 views
1

Я пытаюсь использовать calcOpticalFlowPyrLK для отслеживания функций. Функция используется следующим образом:Ошибка использования calcOpticalFlowPyrLK с OpenCV 2.3.1

TermCriteria termcrit (CV_TERMCRIT_ITER | CV_TERMCRIT_EPS, 20,0.03);

Размер winSize (31,31);

< uchar> статус;

vector < float> err;

calcOpticalFlowPyrLK (prevGray, gray, point [0], point [1], status, err, winSize, 3, termcrit, 0, 0, 0.001);

Все параметры указаны правильно. В пункте [0] уже задано множество точек. Но пока я пытаюсь выполнить программу, она дает следующую ошибку. Я использую Visual C++ 2010.

.....................................

Исключение при первой возможности в 0x74c426df (msvcr100.dll) в GFFER.exe: 0xC0000005: место записи нарушения доступа 0x058fe000. Необработанное исключение в 0x74c426df (msvcr100.dll) в GFFER.exe: 0xC0000005: место записи нарушения доступа 0x058fe000.

.....................................

У вас есть идея как я могу решить эту проблему.

Спасибо заранее!

+0

Убедитесь, что prevGray, серый, инициализируются соответствующим образом. То же самое и для вектора двумерных точек. Вы должны предоставить код, в котором вы инициализируете эти переменные, чтобы дать больше контекста вашей проблеме. В настоящее время ошибка указывает на то, что код пытается получить доступ к памяти, которая, вероятно, не была выделена. Но трудно сказать только из нескольких строк кода, которые вы дали. – lightalchemist

+0

У меня была аналогичная проблема, которая была решена путем переключения с отладки на выпуск. Хотя я не уверен, в чем была основная причина проблемы или почему это исправлено. – NickF

ответ

0

Нарушение права доступа место для записи

ошибки, кажется, происходит при записи данных в место, которое не инициализируется. В коде точка [1], статус и эээ единственные места, где происходит записи.

статус и ошибка и определены правильно. Проблема должна быть в point[1]. Это тип vector<Point2f>.

Почему бы вам не попробовать использовать два отдельных вектора вместо массива векторов, скажем, point0 point1.

Смежные вопросы