0

OpenCV で GLCM (画像からのグレーレベル共起行列 (GLCM)) を使用して特徴を抽出しようとしています。

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

[編集]

このコードを試してみましたが、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");
            }
4

2 に答える 2

0

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

OpenCV-2.3.1a ドキュメント

私はそれを使用したことはありません。

于 2012-04-30T16:01:46.463 に答える
-1

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

于 2013-10-24T16:45:10.637 に答える