小编nas*_*002的帖子

在OpenCV中使用PCA降低尺寸

我有一个3xN Mat数据,它保存在yaml文件中,看起来像:

%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, ...
Run Code Online (Sandbox Code Playgroud)

我想将我的3D数据的尺寸减小到1D或更确切地说2D,然后在QwtPlotCurve上将其可视化.为了做到这一点,我在opencv下实现了pca函数,但不知道如何从pca结果中获取计算出的x和y坐标:

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();
Run Code Online (Sandbox Code Playgroud)

c++ opencv pca

3
推荐指数
1
解决办法
1651
查看次数

标签 统计

c++ ×1

opencv ×1

pca ×1