Ask Your Question

Zar's profile - activity

2016-07-05 03:18:52 -0500 received badge  Student (source)
2015-04-24 02:17:57 -0500 asked a question problem with linking opencv to eclipse

Hi all,

I followed the tutorial on opencv website "Using OpenCV with Eclipse (plugin CDT)"

But eclipse doesn't recognize namespace cv or std. can anyone please help me?

Btw, I'm using ubuntu 14.04.


2015-03-23 19:44:54 -0500 received badge  Scholar (source)
2015-03-23 19:44:48 -0500 commented answer Import Matlab Matrix to OpenCv

Thanks a lot

2015-03-23 03:39:45 -0500 asked a question Import Matlab Matrix to OpenCv

Hi all,

I'm new to C++ and OpenCv and I really appreciate your help. I'm trying to convert my Matlab codes to c++ using openCV. To verify my code I want to import my Matlab matices so I use this Matlab function to convert them to yml file:

unction matlab2opencv( variable, fileName, flag)

[rows, cols] = size(variable);

% Beware of Matlab's linear indexing variable = variable';

% Write mode as default if ( ~exist('flag','var') ) flag = 'w'; end

if ( ~exist(fileName,'file') || flag == 'w' ) % New file or write mode specified file = fopen( fileName, 'w'); fprintf( file, '%%YAML:1.0\n'); else % Append mode file = fopen( fileName, 'a'); end

% Write variable header fprintf( file, ' %s: !!opencv-matrix\n', inputname(1)); fprintf( file, ' rows: %d\n', rows); fprintf( file, ' cols: %d\n', cols); fprintf( file, ' dt: f\n'); fprintf( file, ' data: [ ');

% Write variable data for i=1:rowscols fprintf( file, '%.6f', variable(i)); if (i == rowscols), break, end fprintf( file, ', '); if mod(i+1,4) == 0 fprintf( file, '\n '); end end

fprintf( file, ']\n');


Then using the following command I write to matrices in the yml function: varA = rand( 3, 6); varB = rand( 7, 2);

matlab2opencv( varA, 'newStorageFile.yml'); matlab2opencv( varB, 'newStorageFile.yml', 'a'); % append mode passed by 'a' flag

Then I use this c++ code to see the matrices in visual studio:

    #include <opencv2\opencv.hpp>
    #include <iostream>
    #include <string>
    #include <opencv2\highgui\highgui.hpp>
    using namespace cv;
    using namespace std;

    int main(int argc, char * const argv[])

    Mat var1;
    Mat var2;
    int ex;

    string demoFile = "newStorageFile.yml";

    FileStorage fsDemo(demoFile, FileStorage::READ);
    fsDemo["varA"] >> var1;
    fsDemo["varB"] >> var2;

    cout << "Print the contents of var1:" << endl;
    cout << var1 << endl << endl;

    cout << "Print the contents of var2:" << endl;
    cout << var2 << endl;
    cin >> ex;

    return 0;

but the output are empty matrices. Does anyone have any idea why?