remove overlapping spots
Show older comments
Hello to everyone, I generate figures with gaussian spots and i take some overlapping areas that i want to remove. I've written this code to find overlap,but i don't know how to remove the particular spot i want to delete.Plz help me I've stuck with it. Here is my code: function [x1,y1,x2,y2,overlap,Z]=avoid_overlap_n(Z,s_x,s_y)
B1= imregionalmin(Z,8); B2= imregionalmax(Z,4);
[x1,y1]=find(B1==1); [x2,y2]=find(B2==1); k=1; for i=1:size(x1)-1 overlap(i)=0; end for i=1:size(x2)-1 % for k=1:size(x1-1)
if(Z(x1(k),y1(k))<Z(x2(i+1),y2(i+1)))
if overlap(k)<2
overlap(k)=overlap(k)+1;
else
Z(x2(i+1)+round(s_x),y2(i+1)+round(s_y))=0
end
k=k+1;
end
%end
end
Accepted Answer
More Answers (2)
Mary Kodogianni
on 26 Mar 2011
0 votes
1 Comment
Sean de Wolski
on 29 Mar 2011
click on markup help for more detailed instructions. to post an image use << URL >>
Mary Kodogianni
on 29 Mar 2011
0 votes
1 Comment
Tusharkumar Sorathiya
on 5 Dec 2018
I am not sure what you want to delete, but to find area you can use trapz function which calculates the area of a curve.
Categories
Find more on Numerical Integration and Differentiation 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!