Extract contour from an image

8 views (last 30 days)
Bisca
Bisca on 28 Apr 2017
Answered: waleed mamdouh on 23 Mar 2020
I have a problem about extrcting contours from an image. I need the same result that can i have if using imcontour but this command show me only the boundary of image. I tried with bwtraceboundary but i have a problem with selecting the point to start the tracing.
thanks in advance
  3 Comments
Bisca
Bisca on 1 May 2017
Thanks for the answer...I made a simple code that extract contour
clc
clear
a = imread('logo1.png');
a_gray = rgb2gray(a);
level = 0.1;
a_bw = imbinarize(a_gray,level);
Icomp = imcomplement(a_bw);
hold on
[B,L] = bwboundaries(a_bw);
imshow(label2rgb(L, @jet, [.5 .5 .5]))
%imshow(a_bw);
hold on
for k = 1:length(B)
boundary = B{k};
plot(boundary(:,2), boundary(:,1), 'r', 'LineWidth', 1)
end
Now, I have a doubt because i want associate coordinates in cartesian space on all point of the extrapolates contour
Image Analyst
Image Analyst on 1 May 2017
Edited: Image Analyst on 1 May 2017
You again forgot to include 'logo1.png' as requested.
I'm not sure what you're asking because boundary(:,2) is the x coordinates of the boundary/perimeter of the blob, and boundary(:,1) are the y coordinates. Why don't those give you what you want?

Sign in to comment.

Answers (2)

waleed mamdouh
waleed mamdouh on 23 Mar 2020
clc
clear
a = imread('logo1.png');
a_gray = rgb2gray(a);
level = 0.1;
a_bw = imbinarize(a_gray,level);
Icomp = imcomplement(a_bw);
hold on
[B,L] = bwboundaries(a_bw);
imshow(label2rgb(L, @jet, [.5 .5 .5]))
%imshow(a_bw);
hold on
for k = 1:length(B)
boundary = B{k};
plot(boundary(:,2), boundary(:,1), 'r', 'LineWidth', 1)
end

waleed mamdouh
waleed mamdouh on 23 Mar 2020
clc
clear
a = imread('logo1.png');
a_gray = rgb2gray(a);
level = 0.1;
a_bw = imbinarize(a_gray,level);
Icomp = imcomplement(a_bw);
hold on
[B,L] = bwboundaries(a_bw);
imshow(label2rgb(L, @jet, [.5 .5 .5]))
%imshow(a_bw);
hold on
for k = 1:length(B)
boundary = B{k};
plot(boundary(:,2), boundary(:,1), 'r', 'LineWidth', 1)
end

Categories

Find more on Image Processing Toolbox 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!