2016-04-16 2 views
0

これはおそらく単純な作業ですが、C++でopencvを初めて使用して以来、どのように処理するのかは不明です。PCAのためのopencv画像を整形する

私はthis codeからインスピレーションを受けました。

私は考えていたアイデアは、単一の画像を取って、RGB強度でPCAを行い、RGBデータの投影をグレースケールの3つの主成分に視覚化することでした。

私が最初に遭遇する問題は、PCA用のマトリックスを設定する方法です。これまでのコードは、これまで通りです。

#include <opencv2/opencv.hpp> 
#include <iostream> 

using namespace cv; 
using namespace std; 

int main() 
{ 
    // Open another image 
    Mat image, imageMat; 
    image= imread("images/0.jpg"); 

    imageMat = convertForPCA(image); 

    // Do pca and visualize channels in grayscale. 
    // ... 
    return 0; 
} 

convertForPCA機能の実装を手伝ってください。この関数は、イメージ行列を取り込み、nを3の浮動行列で返します。ここで、nは元のイメージのピクセル数です。

私は残りの部分を進めることができると思いますが、私が立ち往生して答えを見つけることができない場合は、さらに質問を投稿します。

答えて

0

私は自分の問題を解決しました。後で誰かがこの問題に遭遇する場合に備えて、the solutionをgithubに入れました。

関連する問題