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");
}