Tengo un código MATLAB que deseo migrar a OpenCV. Los datos que utiliza el código MATLAB se almacenan en un archivo .mat que luego se carga en tiempo de ejecución.Convirtiendo un archivo .mat de MATLAB en una matriz cv :: Mat en OpenCV
Convertí este archivo .mat en un archivo .csv y luego estoy leyendo estos datos en OpenCV como una cadena que utiliza ifstream. Tengo problemas para convertir esta cadena en una estructura de datos que luego puedo usar en OpenCV.
¿Hay alguna forma de que pueda convertir el archivo .mat/archivo .mat a una estructura de datos Mat en OpenCV?
Editar: De acuerdo con la respuesta que recibí, tuve éxito en la lectura de datos de MATLAB en OpenCV usando un archivo YML. Esto lo hice en un entorno MAC. Sin embargo, cuando intento leer el archivo con el mismo código en un entorno de Windows, el archivo no se está leyendo. Me preguntaba si alguien se encontró con un problema así. A continuación se muestra mi fragmento de código:
// OpenCVDemo.cpp : Defines the entry point for the console application.
// Created for build/install tutorial, Microsoft Visual Studio and OpenCV 2.4.0
#include "stdafx.h"
#include <cv.h>
#include <cxcore.h>
#include <highgui.h>
#include <iostream>
using namespace cv;
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
cout << "Loading the basis." << endl;
FileStorage fs1("basis.yml", FileStorage::READ);
cv::FileNode B = fs1["B"];
if (B.EMPTY)
{
cout << "File is empty or does not exist" << endl;
return 1;
}
fs1["B"] >> basis;
cout << basis.cols << endl;
fs1.release();
return 0;
}
Intenté ejecutar el mismo código en el modo de lanzamiento de Visual Studio y pude leer el archivo .yml con éxito. – Sid