es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Solución de problemas de OpenCv (-4: Memoria insuficiente) Error al asignar memoria

QCoreApplication a(argc, argv);

cv::Mat src=imread(“/home/cdukunlu/Downloads/EuFFJ.jpg”);

float data[9]= {161.837869,0.059269,319.778713,0.000000,165.648492,230.424626,0.000000,0.000000,1.000000};
float rectification[9]={1.000000,0.000000,0.000000,0.000000,1.000000,0.000000,0.000000,0.000000,1.000000};
cv::Vec<float,4> k(0.148201,-0.031856,0.012784,-0.003392);

cv::Mat F = cv::Mat(3, 3, CV_32FC1, data);
cv::Mat R = cv::Mat(3, 3, CV_32FC1, rectification);

std::cout<<“Calibrando…”<<std::endl; cv::size=”” size=”{src.cols,” src.rows};=”” cv::mat=”” k(3,=”” 3,=””></std::endl;>::type);
K.at(0, 0) = 1307.2807020496643;
K.at(0, 1) = 0.0;
K.at(0, 2) = 530.3754311563506;

K.at(1, 0) = 0.0;
K.at(1, 1) = 1318.342691460933;
K.at(1, 2) = 354.98352268131123;

K.at(2, 0) = 0.0;
K.at(2, 1) = 0.0;
K.at(2, 2) = 1.0;

cv::Mat D(4, 1, cv::DataType::type);
D.at(0, 0) = -0.2994762856767568;
D.at(1, 0) = 0.5036082961388784;
D.at(2, 0) = -4.231072729639434;
D.at(3, 0) = 3.8646397788794578;

cv::Mat E = cv::Mat::eye(3, 3, cv::DataType::type);

cv::Mat map1;
cv::Mat map2;

std::cout << K << std::endl;
std::cout << D << std::endl;
std::cout << E << std::endl;
std::cout << size << std::endl;

cv::initUndistortRectifyMap(K, D, E, K, size, CV_16SC2, map1, map2);


se ha llamado a terminate después de lanzar una instancia de 'cv::Exception'
what(): OpenCV(4.5.5-pre) /home/cdukunlu/opencv_build/opencv/modules/core/src/alloc.cpp:73: error: (-4:Error de memoria insuficiente) No se pudo asignar 61343654331232 bytes en función de 'OutOfMemoryError'

¿Qué podría estar causando esta situación?

</float,4>

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    El mensaje de error indica que el programa se ha quedado sin memoria y no ha podido asignar la cantidad necesaria de memoria (61343654331232 bytes) para completar la tarea. Esto puede ser causado por varios factores, como la falta de memoria RAM o virtual, un uso intensivo de memoria por parte de otros programas que se están ejecutando al mismo tiempo, o una fuga de memoria en el propio programa. Se recomienda verificar los recursos del sistema e intentar cerrar programas innecesarios o reducir el uso de memoria en el código para evitar este tipo de errores.

Comments are closed.