私は、そのエッジを滑らかにしたいというイメージを持っています。より正確なセグメンテーションを得るには少し難題がありました。私はしかし、提案を:What can I do to enhance my image quality?から適応させることによって解決策を得ました。マルチコンポーネント画像のエッジを滑らかにするにはどうすればいいですか?
私が使用したコードは次のとおりです。
%# Read in image
Img = imread('image_name.png');
%# Apply filter
h = fspecial('average');
Img = imfilter(Img, h);
%# Segment image
Img = rgb2gray(Img);
thresh = multithresh(Img, 2);
Iseg = imquantize(Img, thresh);
figure, imshow(Iseg,[]), title('Segmented Image');
%# separate channels
blackPixels = (Iseg == 1);
grayPixels = (Iseg == 2);
whitePixels = (Iseg == 3);
%# grow white channel
whitePixels_dilated = imdilate(whitePixels, strel('disk', 4, 4));
%# Add all channels
Iseg(whitePixels | whitePixels_dilated) = 3;
figure, imshow(Iseg,[]);
マイチャレンジ今滑らかにありますソリッドのエッジ(ホワイトピクセル)またはすべてのオブジェクトのエッジ。私はこれをどうやって行うのか分かりません。私はフィルタリングを試みましたが、それは小さなスポットだけを取り除きます。 助け、アイデア、提案やアドバイスをいただければ幸いです。ありがとうございました。
どのようなフィルタリングを試しましたか? – Max
エッジを滑らかにすると、セグメント化された(インデックス付きの)イメージになりません。それはあなたが欲しいものですか? – beaker
@ user2201おそらくエッジを滑らかにする代わりに、あなたのインデックス画像に円形フィッティングアルゴリズムを適用するべきです。ちょっと太い 'LineWidth'を使ってあなたのインデックス画像上で見つかったサークルをプロットすることができ、サークル上でよりシャープな輪郭を得ることができます。そして、必要な精度に応じて、サークルフィッティングされたピクセルをセグメントの内側または外側にインデックスすることができます。 – Max