ここでは 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)は,投影係数から元のベクトルを再構築します.部分空間?
?から 観測データ空間?
?への逆写像?
?を行います.
各関数への引数については次のようになっています.



RECENT COMMENTS