OpenCV 2.2.0을 사용한 이미지 처리에 일 년이 넘었습니다.OpenCV에서 거대한 이미지를 할당하지 못했습니다.
CvMat과 동일한 할당이 작동하는 경우> 2GB IplImage를 할당하려고하면 메모리 할당 오류가 발생합니다. CvMat을 사용하여 원하는대로 할당 할 수 있으며, 10GB 이상을 시도했습니다.
OpenCV는 64 비트 컴파일이며이 간단한 응용 프로그램입니다. 또한 작업 관리자에서 볼 수 있듯이 응용 프로그램이 64 비트 모드로 실행됩니다. 미국. (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);
}
오류 메시지는 "메모리가 부족하다 : 알 수없는 함수에 ... 그것은 버그 수는 분야에서 총 이미지 크기를 저장하기 때문에