2012-04-30 82 views
0

我想在OpenCV中使用GLCM(圖像中的灰度共生矩陣(GLCM))提取特徵。OpenCV如何獲得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"); 
      } 

回答

0

有一類叫做CvGLCM:

OpenCV-2.3.1a documentation

我從來沒有使用過,但。

+0

我以前使用過,但它沒有給出正確的結果,任何想法爲什麼? – wolvorinePk

+0

還有什麼幫助?這對我來說非常重要。我已經用我目前的GLCM代碼編輯了這個問題,但仍然沒有正確的信息。 – wolvorinePk

+0

不能幫助你超過這個,我只安裝了一箇舊版本的opencv,它沒有這個包。我建議你問另一個關於這個問題的編輯部分的問題,人們會更容易幫助調試代碼,而不是回答理論問題 – Smash

-1

你必須安裝scipy,numpy,skimage。和skimage有模塊skimage.feature,其中包括skimage.feature.greycomatrix和skimage.feature.greycoprops在那裏,我們可以計算爲ndarray uint8 grecocomage和greco屬性instructions