2017-04-03 10 views
-1

6色の画像に値を示します。私は以下のような画像を得ました。MATLABを使用して表面領域をトレースし、画像内の特定の領域を滑らかにする方法

Original image

私はエッジを滑らかにして、地域だけでなく、その領域の面積を確認する必要があります。 2番目の画像は、エッジに描かれた黒い線を示しています。このようにエッジを滑らかにする必要があることを示しています。

New Image

Iは、第三の画像に示すように、マスクを作成し、画像次のコードを使用してセグメント化された画像を取得するために、セグメンテーションを使用していました。

Masked image

Iは、マスクされた画像まで生成するための次のコードを使用しています。 ソース:「activecontour」関数を使用するためにはHow to segment

imshow(Out1) 
str = 'Click to select initial contour location. Double-click to confirm and proceed.'; 
title(str,'Color','b','FontSize',12); 
disp(sprintf('\nNote: Click close to object boundaries for more accurate result.')); 
mask = roipoly; 
figure, imshow(mask) 
title('Initial MASK'); 
maxIterations = 3000; 
bw = activecontour(Out1, mask, maxIterations, 'Chan-Vese'); 

% Display segmented image 
figure, imshow(bw) 
title('Segmented Image'); 

私のイメージは、私は戻ってグレースケールとに変換することができないんだグレースケール画像、する必要があります。また、領域の表面積/面積を調べるには、inbuilt関数があります。ありがとうございました。

答えて

関連する問題