2011年5月11日水曜日

PCA in OpenCV

使い方

using namespace cv;

PCA pca(const Mat& data, const Mat& mean, int flags, int maxComponents=0)
となってる。

入力はその通りで、
data:多次元のデータ。
flag:普段の計算はサンプルを列にしているので、CV_PCA_DATA_AS_COLSを指定
   (サンプルを行に格納するときは、CV_PCA_DATA_AS_ROWS)。
mean:データから計算してほしいから、Mat()を入力。
maxComponents:必要な次元数を指定する。0は、データの次元数のままで計算される。




入力すれば計算してくれて、結果は以下の変数で取得できる。


pca.eigenvectors:固有ベクトル
pca.eigenvalues:固有値
pca.mean:平均値


他にコピーしたければ、
pca.eigenvectors.copyTo(Mat &mat)
Mat eigenvalues = pca.eigenvalues.clone()
とか使って。


中身は、
pca.mean.at<double>(0,0)などで見られる。

0 件のコメント:

コメントを投稿