2012-04-30 8 views
0

OpenCVでGLCM(画像からのグレイレベル共起行列(GLCM))を使用してフィーチャを抽出しようとしています。OpenCV GLCMグレイレベル共起行列の取得方法

matlabにはgraycomatrixがあります。 openCVには同じ目的のために何らかの機能がありますか?そうでない場合は、それを達成するための最良の解決策は何ですか?また、実用的な例がありますか?

[EDIT]

私はこのコードを試みたが、それは任意のより良い解決策/機能を結果MathWorks社のMATLABと比較OpenCVの中に存在するか、私はGLCM過程で間違いをやっていると、間違った値を与えますか?

  char rawdata[4][4] = { {0, 1, 2, 3}, 
      {1, 1, 2, 3}, 
      {1, 0, 2, 0}, 
      {0, 0,0, 3}}; 

      src->imageData = (char*)(&rawdata); 

      CvGLCM* glcm; 
      glcm = cvCreateGLCM(src, 2, NULL,4, CV_GLCM_OPTIMIZATION_NONE); 
      cvCreateGLCMDescriptors(glcm, CV_GLCMDESC_OPTIMIZATION_ALLOWDOUBLENEST); 

      for (int step=0; step<4; step++) 
      { 
       printf("%.3f,", cvGetGLCMDescriptor(glcm, step, CV_GLCMDESC_CONTRAST)); 
        printf("\n"); 
      } 

答えて

0

CvGLCMというクラスがあります:

OpenCV-2.3.1a documentation

私もそれを使用したことがないが。

+0

私は以前これを使用しましたが、適切な結果は得られません。どうして? – wolvorinePk

+0

これ以上のヘルプ???私が解決するためには本当に重要です。私はGLCMの私の現在のコードで質問を編集しましたが、まだ正しい情報は来ていません。 – wolvorinePk

+0

これ以上のお手伝いができませんが、私はこのパッケージを持たないopencvの古いバージョンしかインストールしていません。この質問の編集部分について別の質問をすることをお勧めします。人々は理論的な質問に答えるよりも簡単にコードをデバッグするのに役立ちます – Smash

-1

scipy、numpy、skimageをインストールする必要があります。 skimageにはskimage.feature.greycomatrixとskimage.feature.greycopropsを含むモジュールskimage.featureがあります。そこにはndarray uint8とgrecoプロパティのgreycoimageを計算することができます。instructions