How to find and draw boundary on some parts of an object in image?
Show older comments
Hi, i have an image of an object and i wanted to find boundary of parts that shown on image in red boundary. Is it possible to find boundary that exactly repeat the region that i need? If possible share some code or function that can help me? Thanks
1 Comment
Image Analyst
on 30 May 2018
Image, showing outlines around defects:

Answers (2)
Anton Semechko
on 29 May 2018
Is this what you are looking for?
im=imread('https://www.mathworks.com/matlabcentral/answers/uploaded_files/119409/Image.JPG');
bw=im(:,:,1)>150 & im(:,:,2)<100 & im(:,:,3)<100; % segment-out the red contours
bw=imfill(bw,'holes'); % fill-in contour interiors
bw=imopen(bw,strel('disk',2)); % remove jagged edges
B=bwboundaries(bw,8,'noholes'); % contour coordinates
figure('color','w')
imshow(im)
hold on
for i=1:numel(B)
h=fill(B{i}(:,2),B{i}(:,1),'r');
set(h,'FaceAlpha',0.2,'LineWidth',2,'EdgeColor','b')
end
1 Comment
Baisseyev Miram
on 30 May 2018
Image Analyst
on 29 May 2018
0 votes
You have lots of "defects" there - ridges, edges, specks, chips, dents, bumps, or whatever. The software doesn't necessarily know what is normal/OK and what is not normal/bad unless you tell it. The best way is to have a reference image - an image of a perfect part that you can then subtract from or divide by the test image. Do you have that?
6 Comments
Baisseyev Miram
on 30 May 2018
Image Analyst
on 30 May 2018
What if I were to say that those two big ridges running from the upper left to the lower right were features/defects that should be found? I don't think you can just say that anything that is not smooth and uniform is something that needs to be segmented, can you? But if you can, maybe just run stdfilt() on it and threshold the result.
Baisseyev Miram
on 30 May 2018
Baisseyev Miram
on 30 May 2018
Baisseyev Miram
on 30 May 2018
Image Analyst
on 30 May 2018
Yes, if that's how you want to define defects, then that's perfectly fine. See my Image Segmentation Tutorial for a full demo on how to do that. https://www.mathworks.com/matlabcentral/fileexchange/?term=authorid%3A31862&sort=downloads_desc
Categories
Find more on Image Arithmetic in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!