1


私は写真を持っています。共起行列(graycomatrix)を作成して、さまざまなプロパティ(コントラスト、相関)などを抽出します(graycoprops

x = []
for a lot of pictures, do the same:
    imgB = imread('currentLoopImage.jpg')

    contrast = graycoprops(graycomatrix(rgb2gray(imgB)), 'Contrast')
    correlation = graycoprops(graycomatrix(rgb2gray(imgB)), 'Correlation')
    energy = graycoprops(graycomatrix(rgb2gray(imgB)), 'Energy')
    homogeneity = graycoprops(graycomatrix(rgb2gray(imgB)), 'Homogeneity')

    x = [x;contrast;correlation;energy;homogeneity]

問題は、その行列Xにすべての値を保存する必要があるということですが、次のエラーが発生します。

CAT引数は、構造体フィールド名で一貫していません。

これは私が各タイプから得た出力なので:

homogeneity = 

    Homogeneity: 0.8587

種類が違うので、X行列に保存できません。
出力行列Xは、数値のみを保存し、その「均一性」を無視する必要があります

誰かが私にこれを行うことができる人を教えてもらえますか?

4

1 に答える 1

2

例からgraycoprops()

>> GLCM = [0 1 2 3;1 1 2 3;1 0 2 0;0 0 0 3];
>> stats = graycoprops(GLCM)

stats = 

       Contrast: 2.8947
    Correlation: 0.0783
         Energy: 0.1191
    Homogeneity: 0.5658

次に、次のようにします。

>> x = struct2array(stats)

ans =

    2.8947    0.0783    0.1191    0.5658

また、forループを使用する代わりに、すべての画像をmxnxpマトリックスに含めて、一度にすべて処理できることにも注意してください。例えば:

>> GLCM(:,:,2) = GLCM;
>> cell2mat(struct2cell(stats))

ans =

    2.8947    2.8947
    0.0783    0.0783
    0.1191    0.1191
    0.5658    0.5658
于 2011-10-27T20:07:30.450 に答える