理論的には、 glcmマトリックスは 2^x x 2^x の次元を持つと言われています。x は画像のグレースケール深度です。私の問題は、8 ビットのグレースケール イメージで実行すると、2^8 By 2^8 のマトリックスではなく、8 x 8 のマトリックスが得られることです。
誰か助けてくれませんか?
MATLAB のドキュメントによると、
graycomatrix は、イメージのスケーリングされたバージョンから GLCM を計算します。既定では、I がバイナリ イメージの場合、 graycomatrix はイメージを 2 つのグレー レベルにスケーリングします。I が強度イメージの場合、 graycomatrix はイメージを 8 つのグレー レベルにスケーリングします。パラメーターを使用して、 graycomatrix がイメージをスケーリングするために使用するグレー レベルの数と、
'NumLevels'
パラメーターを使用して graycomatrix が値をスケーリングする方法を指定'GrayLimits'
できます。「パラメーター」を参照してください。
つまり、次のように関数を実行する必要があります。
glcm = graycomatrix(I , 'NumLevels' , 2^8 );