Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- close all;
- clear all;
- I = imread("I.png");
- figure(1)
- imshow(I)
- [x, y] = ginput(1);
- x=round(x);
- y=round(y);
- I= double(I);
- s = zeros(1000,2);
- l = 1;
- [X,Y]=size(I);
- visited = zeros(X,Y);
- segmented = zeros(X,Y);
- s(l,:)=[x,y];
- l=l+1;
- visited(y,x)=1;
- segmented(y,x)=1;
- c=0;
- start=s(1,:);
- while(l>1)
- st=s(1,:);
- s(1,:)=[];
- l=l-1;
- for i= -1:1:1
- for j= -1:1:1
- x = i+st(1);
- y = j+st(2);
- if(x>0 && y >0 )
- if((visited(y,x))==0)
- visited(y,x)=1;
- s = abs(I(st(2),st(1))-I(y,x));
- if(s<4.5)
- segmented(y,x)=1;
- s(l,:)=[x,y];
- l=l+1;
- end
- end
- end
- end
- end
- c=c+1;
- if(c == 150)
- copy=segmented;
- c=0;
- end
- tmp=zeros(1000,2);
- for i=1:1:l
- tmp(i,:)=s(i,:);
- end
- s=tmp;
- end
- figure(2)
- subplot(1,2,1)
- imshow(segmented)
- title("Segmentacja")
- subplot(1,2,2)
- imshow(visited)
- title("Odwiedzone")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement