How to find and draw boundary on some parts of an object in image?
6 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
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 Commento
Risposte (2)
Anton Semechko
il 29 Mag 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
Image Analyst
il 29 Mag 2018
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 Commenti
Image Analyst
il 30 Mag 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
Vedere anche
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!