【发布时间】:2011-10-02 03:37:08
【问题描述】:
我正在使用带有代码块的 OpenCV 2.1(mingw 下的 gcc)。在我的代码中,我正在尝试(出于某种理智的原因)直接访问 IplImage 数据结构中的图像数据。详情请参考代码sn-p:
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 相关问题的原因。
注意:没有其他程序实例打开,这是我正在运行的唯一代码,这里没有线程等。
同样等待你的 cmets。
问候,
索拉巴·甘地
【问题讨论】: