Advertisement
Voldemord

Untitled

May 31st, 2020
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.13 KB | None | 0 0
  1. close all;
  2. clear all;
  3.  
  4. I = imread("I.png");
  5.  
  6. figure(1)
  7. imshow(I)
  8. [x, y] = ginput(1);
  9. x=round(x);
  10. y=round(y);
  11. I= double(I);
  12. s = zeros(1000,2);
  13. l = 1;
  14. [X,Y]=size(I);
  15. visited = zeros(X,Y);
  16. segmented = zeros(X,Y);
  17. s(l,:)=[x,y];
  18. l=l+1;
  19. visited(y,x)=1;
  20. segmented(y,x)=1;
  21. c=0;
  22.  
  23. start=s(1,:);
  24. while(l>1)
  25. st=s(1,:);
  26. s(1,:)=[];
  27. l=l-1;
  28. for i= -1:1:1
  29. for j= -1:1:1
  30. x = i+st(1);
  31. y = j+st(2);
  32. if(x>0 && y >0 )
  33. if((visited(y,x))==0)
  34. visited(y,x)=1;
  35. s = abs(I(st(2),st(1))-I(y,x));
  36. if(s<4.5)
  37. segmented(y,x)=1;
  38. s(l,:)=[x,y];
  39. l=l+1;
  40. end
  41. end
  42. end
  43. end
  44. end
  45. c=c+1;
  46. if(c == 150)
  47. copy=segmented;
  48.  
  49. c=0;
  50. end
  51. tmp=zeros(1000,2);
  52. for i=1:1:l
  53. tmp(i,:)=s(i,:);
  54. end
  55. s=tmp;
  56. end
  57.  
  58. figure(2)
  59. subplot(1,2,1)
  60. imshow(segmented)
  61. title("Segmentacja")
  62. subplot(1,2,2)
  63. imshow(visited)
  64. title("Odwiedzone")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement