title: Dimension reduction with PCA in OpenCV
body: <p>I have a 3xN Mat data, which is saved in yaml file and looks like:</p>
  
  <pre><code>%YAML:1.0
  
  data1: !!opencv-matrix
  rows: 50
   cols: 3
   dt: d
   data: [ 7.1709999084472656e+01, -2.5729999542236328e+01,
     -1.4074000549316406e+02, 7.1680000305175781e+01,
     -2.5729999542236328e+01, -1.4075000000000000e+02,
     7.1639999389648438e+01, -2.5729999542236328e+01,
     -1.4075000000000000e+02, 7.1680000305175781e+01,
     -2.5729999542236328e+01, -1.4075000000000000e+02, ...
  </code></pre>
  
  <p>I want to reduce the dimension of my 3D data to 1D or rather 2D and after that visualize it on a QwtPlotCurve. In order to do that, I have implemented pca function under opencv, but have no idea how to get the calculated x and y coordinates from pca result:</p>
  
  <pre><code>int numOfComponents= 100;
  PCA pca(data, cv::Mat(), CV_PCA_DATA_AS_ROW, numOfComponents);
  
  Mat mean= pca.mean.clone();
  Mat eigenvalues= pca.eigenvalues.clone();
  Mat eigenvectors= pca.eigenvectors.clone();
  </code></pre>