我正在使用带有代码块的OpenCV 2.1(mingw下的gcc)。在我的代码中,我正在尝试(出于某种理智的原因)直接访问IplImage数据结构中的imagedata。请参阅代码段以获取更多详细信息:
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相关问题的原因。
注意:没有其他程序打开的实例,这是我正在运行的唯一代码,这里没有进行任何线程等。
等待你的评论。
此致
Saurabh Gandhi
答案 0 :(得分:6)