remove overlapping spots
2 次查看(过去 30 天)
显示 更早的评论
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
0 个评论
采纳的回答
Sean de Wolski
2011-3-25
Z(region1®ion2) = 0;
Post your image so we can see it and you'll get better results.
0 个评论
更多回答(2 个)
Mary Kodogianni
2011-3-26
1 个评论
Sean de Wolski
2011-3-29
click on markup help for more detailed instructions. to post an image use << URL >>
Mary Kodogianni
2011-3-29
1 个评论
Tusharkumar Sorathiya
2018-12-5
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.
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!