1

特徴抽出のために画像からグレーレベル共起行列を計算しようとしています。私はgreycomatrixタスクに使用していますが、次のエラーが発生しているため、プロセスについて理解できないことがあるようです:

ValueError: バッファ ソース配列は読み取り専用です

(完全なトレースは以下にあります)

だからここに私がしたことがあります:

(PIL) 画像を 8 つの量子化レベルでグレースケールに変換します。

greyImg = img.convert('L', colors=8)

次に、glcm 行列を計算します。

glcm = greycomatrix(greyImg, distances=[1], angles=[0, np.pi/4, np.pi/2], 
                    symmetric=True, normed=True)

これにより、かなり不可解なエラーが発生します。

glcm = graycomatrix(img、距離=[1]、角度=[0、np.pi/4、np.pi/2]、レベル=256、対称=True、ノルム=True)

_glcm_loop(画像、距離、角度、レベル、P)

ファイル「skimage/feature/_texture.pyx」、18 行目、skimage.feature._texture._glcm_loop 内

View.MemoryView.memoryview_cwrapper のファイル「stringsource」、654 行目

ファイル「stringsource」、349 行目、View.MemoryView.memoryview._cinit__ の ValueError: バッファ ソース配列は読み取り専用です

私はパラメータをいじろうとしてきましたが、なぜこれが起こるのか分かりません。glcm-matrix を計算する正しい方法は何でしょうか?

アップデート

問題はグレースケール変換にありました。次の変更が必要でした。

import numpy as np

greyImg = np.array(img.convert('L', colors=8))
4

1 に答える 1