Я использую OpenCV 2.1 с кодовыми блоками (gcc под mingw). В своем коде я пытаюсь (по какой-то разумной причине) получить прямой доступ к визуализированным данным в структуре данных IplImage. Пожалуйста, обратитесь к фрагменту кода для более подробной информации:
int main(void)
{
IplImage* test_image = cvLoadImage("test_image.bmp",CV_LOAD_IMAGE_GRAYSCALE);
int mysize = test_image->height * test_image->widthStep;
char* imagedata_ptr = NULL;
int i = 0;
imagedata_ptr = test_image->imageData;
char* temp_buff = (char *)malloc(sizeof(mysize));
memcpy(temp_buff,imagedata_ptr,mysize);
free(temp_buff);
}
Когда я запускаю этот код, он падает. При запуске в режиме отладки он генерирует SIGTRAP из-за повреждения кучи. Сначала я подозревал, что это может быть связано с компилятором, и поэтому попытался запустить тот же код в Visual Studio. Но это все еще падает. Вот почему я чувствую, что это может быть проблема, связанная с OpenCV.
ПРИМЕЧАНИЕ. Других примеров открытия программы нет, это единственный код, который я выполняю, здесь нет потоков и т. Д.
Жду ваших комментариев на том же.
С уважением,
Саурабх Ганди