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 МБ, я хотел бы знать, почему это так:)

0 ответов

Другие вопросы по тегам