MATLAB: How to seperate overlapping circles

boundarycircleimagesegmentationseperating

Hi,
I have a sample image below that describes my problem. As you see I have two overlapping shapes. I want to seperate them into two different shapes. I found that there are some methods like visboundaries or regionprops but couldn't figure out how to use them for this kind of image. I would be very glad if you help me. Thanks

Best Answer

clc; clear all ;
data = imread(yourimage) ;
R = data(:,:,1) ;
b = bwboundaries(R) ;
b1 = b{1} ;
b2 = b{2} ;
b3 = b{3} ;
b4 = b{4} ;
plot(b1(:,1),b1(:,2),'r')
hold on
plot(b2(:,1),b2(:,2),'r')
plot(b3(:,1),b3(:,2),'r')
plot(b4(:,1),b4(:,2),'r')
There might be more elegant solution for this.
Related Question