7月 10

ここでは PCA を OpenCV の関数を用いて行うことについてのみ説明します.PCA とは何かなどについては他のサイトや書籍を参考にされて下さい.

OpenCV には PCA を行うために次の3つの関数が用意されています.

cvCalcPCA(const CvArr* data, CvArr* avg,?CvArr* eigenvalues,?CvArr* eigenvectors, int flags);

1つ目の関数(cvCalcPCA)は,ベクトル集合の主成分分析を行う関数.この関数は,観測されるデータベクトル集合を?,主成分分析によって部分空間へ投影されるベクトルを??としたときの連続写像??を求めます.

cvProjectPCA(const CvArr* data, CvArr* avg,?CvArr* eigenvalues, CvArr* project);

2つ目の関数(cvProjectPCA)は,指定された部分空間へベクトルを投影します.あらかじめ求めた連続写像??を用いて??から??を算出します.

cvBackProjectPCA(const CvArr* project, CvArr* avg,?CvArr* eigenvectors, CvArr* result);

3つ目の関数(cvBackProjectPCA)は,投影係数から元のベクトルを再構築します.部分空間??から 観測データ空間??への逆写像??を行います.

各関数への引数については次のようになっています.


続きを読む »

Tagged with:
preload preload preload