2
我在OpenCV 2.2.0的圖像處理方面工作一年。未能在OpenCV中分配巨大的圖像
我得到一個內存分配錯誤只有當我嘗試分配一個> 2GB IplImage,因爲與CvMat相同的分配工作。我可以使用CvMat分配任何我想要的,我也嘗試> 10 GB。
OpenCV是64位編譯,也是這個簡單的應用程序。此外,我確信應用程序以64位模式運行,我可以從任務管理器中看到。 O.S. (Windows 7)也是64位。
int main(int argc, char* argv[])
{
printf("trying to allocate >2GB matrix...\n");
CvMat *huge_matrix = cvCreateMat(40000,30000,CV_16UC1);
cvSet(huge_matrix,cvScalar(5));
printf("...done!\n\n");
system("PAUSE");
printf("trying to allocate >2GB image...\n");
IplImage *huge_img = cvCreateImage(cvSize(40000,30000),IPL_DEPTH_16U, 1);
cvSet(huge_img,cvScalar(5));
printf("...done!\n\n");
system("PAUSE");
cvReleaseMat(&huge_matrix);
cvReleaseImage(&huge_img);
}
該錯誤消息「內存不足:在未知功能...它可以是一個錯誤