OutOfMemoryError opencv (не требуется 64-битное решение)
Привет, ребята, у меня есть проблема с моей opencv 2.3.0
Все, что я пытаюсь сделать, это извлечь SIFT из изображения, которое я скачал. Теперь изображение очень большое (около 120 МБ) 6124 Вт 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. Также примечание: у меня 4 ГБ памяти, поэтому 750 МБ не должно быть проблемой.
ТАКЖЕ, если вы знаете, почему он принимает 750 МБ, а не что-то ближе к 120 МБ, я хотел бы знать, почему это так:)