How to remove triangles from an image?

I need to segment the red, blue and yellow/orange-ish parts of the image and I've mostly manged to do that, the only problem is that the yellow/orange-ish segmentation contains discontinuities in some parts due to those little triangles. Any suggestions on how can I remove those triangles? ( or other ideas on how to segment it without the discontinuities). Below I've attached both the image I need to segment and the segmented image with the discontinuities I'm reffering to.

回答 (3 件)

Akira Agata
Akira Agata 2019 年 6 月 20 日

0 投票

How about the following?
% Read the original image
I = imread('image.jpg');
% Extract orange part (using Color Thresholder App.)
BW = createMask(I);
% Remove noise
BW = bwareafilt(BW,[10 Inf]);
% Apply morphological closing operation
BW = imclose(BW,strel('disk',50));
% Fill the area
BW = imfill(BW,'hole');
% Show the result
figure
imshowpair(I,BW)
area.png

1 件のコメント

Akira Agata
Akira Agata 2019 年 6 月 20 日
OK. Then, please change a little bit, like:
% Read the original image
I = imread('image.jpg');
% Extract orange part (using Color Thresholder App.)
BW = createMask(I);
% Remove noise
BW = bwareafilt(BW,[10 Inf]);
% Apply morphological closing operation
BW = imclose(BW,strel('disk',50));
% Trace the orange line
BW = bwmorph(BW,'skel',Inf);
% Show the result
figure
imshow(BW)
edge.png

サインインしてコメントする。

Paul Simon
Paul Simon 2019 年 6 月 20 日

0 投票

Thank you for the answer, but I need to extract the outline of the orange part, not its whole area.
Paul Simon
Paul Simon 2019 年 6 月 20 日

0 投票

Great, thanks a lot.

カテゴリ

ヘルプ センター および File ExchangeImage Processing Toolbox についてさらに検索

質問済み:

2019 年 6 月 19 日

回答済み:

2019 年 6 月 20 日

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by