Здравствуйте, ребята, я делаю программу, которая вычисляет собственные значения и собственные векторы изображения. Для этого я использую библиотеки OpenCV и Armadillo, в OpenCV я загружаю изображение в свою программу, а в Armadillo я вычисляю собственные значения и собственные векторы.
Мне нужно преобразовать cv :: Mat в arma ::Чтобы иметь возможность вычислить собственные значения и собственные векторы, для этого я делаю следующее на основе предыдущего ответа:
arma::mat arma_mat(reinterpret_cast<double*>(image.data), image.rows, image.cols);
Полный код здесь:
#include<armadillo>
#include<opencv2/opencv.hpp>
#include<iostream>
int main()
{
cv::Mat image = cv::imread("Imgs/face.jpg", CV_LOAD_IMAGE_GRAYSCALE);
if(!image.data){
std::cout << "No se pudo cargar la imágen\n";
return -1;
}
arma::mat arma_mat(reinterpret_cast<double*>(image.data), image.rows, image.cols);
return 0;
}
Код имеетнет проблем с компиляцией, но когда он выполняется, когда он достигает строки, где он конвертирует из cv :: Mat в arma :: mat, выполнение останавливается и появляется консоль (выходное значение: -1) Кто-нибудь знает, почему это происходит?