0

私はcontourfを使って作ったこのプロットを持っていますここに画像の説明を入力

これは、各層の方向を取得しようとしている顕微鏡写真です。10度ごとに一定の色を持つカラーマップを作成しました。したがって、基本的には、一定の色が一定のプライに対応していると想定しています。次に、各層の面積を計算したいと思います。どうすればいいのかわかりません。最初に、matlab に 0 度から 10 度の領域が XX (ピクセル ^ 2) であることを伝えるように依頼できるようにしたいと考えています。しかし 2 番目に、1 つのプライを指定できるようにしたいと考えています。0~10の領域がいくつかあるので、それぞれの面積を知りたいです。

それが可能かどうか知っていますか?乾杯D

編集だから私はあなたの提案を使用しました、そして私はこのようなものを手に入れました。

R = 

  Columns 1 through 3

    [32x1 struct]    [450x1 struct]    [1110x1 struct]

  Columns 4 through 6

    [1978x1 struct]    [2778x1 struct]    [3392x1 struct]

  Columns 7 through 9

    [5249x1 struct]    [8215x1 struct]    [15711x1 struct]

  Columns 10 through 12

    [12019x1 struct]    [5335x1 struct]    [2643x1 struct]

  Columns 13 through 15

    [1804x1 struct]    [1018x1 struct]    [670x1 struct]

  Columns 16 through 18

    [579x1 struct]    [344x1 struct]    [50x1 struct]

私はこのようなものを(matlabのヘルプから)手に入れたいと思っていますが、その地域のために

stats = 

        Centroid        MajorAxisLength    MinorAxisLength
    ________________    _______________    _______________

     256.5     256.5    834.46             834.46         
       300       120    81.759             81.759         
    330.47    369.83    111.78             110.36         
       450       240    101.72             101.72         

また、私は matlab で、ここのように領域の周りに再プロットできるのを見ました 円の中心と半径を取得します。

centers = stats.Centroid;
diameters = mean([stats.MajorAxisLength stats.MinorAxisLength],2);
radii = diameters/2;
Plot the circles.

hold on
viscircles(centers,radii);
hold off

そして、彼らはこのイメージからそのイメージに行きます: ここに画像の説明を入力 ここに画像の説明を入力

これも地域ごとにやっていきたいと思います。

4

1 に答える 1

0

contourfは表示用であり、私の意見では、問題の最善の解決策ではありません。regionpropsImage Processing Toolboxから)に基づくソリューションを次に示します。

Aの配列/画像が含まれているとします

angs = -90:10:90;

for i = 1:numel(angs)-1

    BW = A>=angs(i) & A<angs(i+1);

    R{i} = regionprops(BW, 'Area');

end

間隔ごとに、R{i}個別の領域と同じ数の要素を持つ構造体と、Areaピクセル数のフィールドが含まれます。

お役に立てれば、

于 2015-03-25T20:21:05.100 に答える