嘿伙计们,我的opencv 2.3.0存在问题
我要做的就是从我下载的图片中提取SIFT功能。现在图像非常大(约120MB)6124w X 7636h PNG
我看到的错误是:
OpenCV Error: Insufficient memory (Failed to allocate 748205824 bytes) in OutOfMemoryError, file /home/ros/Desktop/OpenCV-2.3.0/modules/core/src/alloc.cpp, line 52
terminate called after throwing an instance of 'cv::Exception'
what(): /home/ros/Desktop/OpenCV-2.3.0/modules/core/src/alloc.cpp:52: error: (-4) Failed to allocate 748205824 bytes in function OutOfMemoryError
现在我知道调用此行时会发生错误。
cv::FeatureDetector * siftfeaturedetector = new cv::SiftFeatureDetector( siftLevel_, 10.0, 4,3,-1,0 );
siftfeaturedetector->detect(imgMat, keypts); // HERE
所以我想知道(因为我已经阅读了一些解决方案,说要用64位编译)如何使用32位Linux VM解决这个问题。还有一个注意事项我有4 GB的内存,所以750MB应该不是问题。
如果你知道为什么它需要750MB而不是接近120MB,我很想知道为什么会这样:)