特徴抽出のために画像からグレーレベル共起行列を計算しようとしています。私は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))