Advertisement
Guest User

Untitled

a guest
Nov 20th, 2019
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.35 KB | None | 0 0
  1. close all;
  2. clearvars;
  3. clc;
  4.  
  5. %I1 = imread('wyspa.bmp');
  6. %I1 = imread('kolka.bmp');
  7. I1 = imread('ertka.bmp');
  8. SE = strel('square', 3);
  9. erozja = imerode(I1, SE);
  10.  
  11. figure(1);
  12. subplot(1,2,1);
  13. imshow(I1);
  14. title('oryginalny');
  15. subplot(1,2,2);
  16. imshow(erozja);
  17. title('po erozji kwadratem');
  18.  
  19. SE2 = strel('diamond', 5);
  20. erozja2 = imerode(I1, SE2);
  21.  
  22. figure(2);
  23. subplot(1,2,1);
  24. imshow(I1);
  25. title('oryginalny');
  26. subplot(1,2,2);
  27. imshow(erozja2);
  28. title('po erozji diamentem');
  29.  
  30. erozja22 = imerode(erozja, SE2);
  31. erozja3 = imerode(erozja22, SE2);
  32.  
  33. figure(3);
  34. subplot(1,3,1);
  35. imshow(I1);
  36. title('oryginalny');
  37. subplot(1,3,2);
  38. imshow(erozja22);
  39. title('po erozji 2 razy kwadratem');
  40. subplot(1,3,3);
  41. imshow(erozja3);
  42. title('po erozji 3 razy kwadratem');
  43.  
  44. I2 = imread('buzka.bmp');
  45. ESL = [ 0, 0, 1; 0, 1, 0; 1, 0, 0];
  46. ELP = [1, 0, 0; 0, 1, 0; 0, 0, 1];
  47.  
  48. I2L = imerode(I2, ESL);
  49. I2P = imerode(I2, ELP);
  50.  
  51. figure(4);
  52. subplot(1,3,1);
  53. imshow(I2);
  54. title('oryginalny');
  55. subplot(1,3,2);
  56. imshow(I2L);
  57. title('lewo');
  58. subplot(1,3,3);
  59. imshow(I2P);
  60. title('prawo');
  61.  
  62. dylatacja = imdilate(I1, SE);
  63.  
  64. figure(5);
  65. subplot(1,2,1);
  66. imshow(I1);
  67. title('oryginalny');
  68. subplot(1,2,2);
  69. imshow(dylatacja);
  70. title('po dylatacji kwadratem');
  71.  
  72. figure(6);
  73. subplot(2,3,1);
  74. imshow(I1);
  75. title('oryginalny');
  76. subplot(2,3,2);
  77. imshow(erozja);
  78. title('erozja');
  79. subplot(2,3,3);
  80. imshow(dylatacja);
  81. title('dylatacja');
  82. subplot(2,3,4);
  83. imshow(imopen(I1, SE));
  84. title('otwarcie');
  85. subplot(2,3,5);
  86. imshow(imclose(I1, SE));
  87. title('zamknięcie');
  88.  
  89. figure(7);
  90. subplot(2,1,1);
  91. imshow(I1);
  92. subplot(2,1,2);
  93. imshow(imclose(imopen(I1, SE), SE));
  94.  
  95. I3 = imread('hom.bmp');
  96. SE11 = [0 1 0; 1 1 1; 0 1 0];
  97. SE22 = [1 0 1; 0 0 0; 1 0 1];
  98. trans = bwhitmiss(I3, SE11, SE22);
  99.  
  100. figure(8);
  101. subplot(1,2,1);
  102. imshow(I3);
  103. title('oryginalny');
  104. subplot(1,2,2);
  105. imshow(trans);
  106. title('po operacji trafił, nie trafił');
  107.  
  108. %zad2
  109. close all;
  110. clearvars;
  111. clc;
  112.  
  113. I1 = imread('fingerprint.bmp');
  114.  
  115. figure(1);
  116. subplot(2,2,1);
  117. imshow(I1);
  118. title('oryginal');
  119. subplot(2,2,2);
  120. imshow(bwmorph(I1, 'thin'));
  121. title('x 1');
  122. subplot(2,2,3);
  123. imshow(bwmorph(I1, 'thin', 2));
  124. title('x 2');
  125. subplot(2,2,4);
  126. imshow(bwmorph(I1, 'thin', Inf));
  127. title('Inf');
  128.  
  129. I2 = imread('kosc.bmp');
  130.  
  131. figure(2);
  132. subplot(2,1,1);
  133. imshow(I2);
  134. title('oryginal');
  135. subplot(2,1,2);
  136. imshow(bwmorph(I2, 'skel', Inf));
  137. title('Inf');
  138.  
  139. I3 = imread('text.bmp');
  140. MP = ones(51,1);
  141. otwarcie = imopen(I3, MP);
  142. SE = strel('square', 3);
  143. erozja = imerode(I3, SE);
  144. rekonsturkcja = imreconstruct(erozja,I3);
  145.  
  146. figure(3);
  147. subplot(1,2,1);
  148. imshow(otwarcie);
  149. title('samo otwarcie');
  150. subplot(1,2,2);
  151. imshow(rekonsturkcja);
  152. title('po rekonstrukcji');
  153.  
  154. wypelnianie = imfill(I3, 'holes');
  155. czyszczenie = imclearborder(I3);
  156.  
  157. figure(4);
  158. subplot(1,2,1);
  159. imshow(wypelnianie);
  160. title('wypelnienie dziur');
  161. subplot(1,2,2);
  162. imshow(czyszczenie);
  163. title('czyszczenie brzegu');
  164.  
  165. %zad3
  166. close all;
  167. clearvars;
  168. clc;
  169.  
  170. I1 = imread('ferrari.bmp');
  171. SE = strel('square', 3);
  172. erozja = imerode(I1, SE);
  173. dylatacja = imdilate(I1, SE);
  174. roznica = dylatacja - erozja;
  175.  
  176. figure(1);
  177. subplot(1,3,1);
  178. imshow(erozja);
  179. title('erozja');
  180. subplot(1,3,2);
  181. imshow(dylatacja);
  182. title('dylatacja');
  183. subplot(1,3,3);
  184. imshow(roznica);
  185. title('roznica');
  186.  
  187. figure(2);
  188. subplot(2,1,1);
  189. imshow(imopen(I1, SE));
  190. title('otwarcie');
  191. subplot(2,1,2);
  192. imshow(imclose(I1, SE));
  193. title('zamknięcie');
  194.  
  195. figure(3);
  196. subplot(2,1,1);
  197. imshow(imtophat(I1, SE));
  198. title('top-hat');
  199. subplot(2,1,2);
  200. imshow(imbothat(I1, SE));
  201. title('bottom-hat');
  202.  
  203. I2 = imread('rice.png');
  204. SE2 = strel('disk', 10);
  205.  
  206. figure(4);
  207. subplot(3,1,1);
  208. imshow(imtophat(I2, SE2));
  209. title('top-hat');
  210. subplot(3,1,2);
  211. imshow(imbothat(I2, SE2));
  212. title('bottom-hat');
  213. subplot(3,1,3);
  214. imshow(I2);
  215. title('orginalny');
  216.  
  217. %zad4
  218. close all;
  219. clearvars;
  220. clc;
  221.  
  222. I1 = imread("calculator.bmp");
  223.  
  224. line = ones(1,71);
  225. I2 = imerode(I1, line);
  226. I3 = imreconstruct(I2, I1);
  227. I4 = I1 - I3;
  228.  
  229. line2 = ones (1,11);
  230. I5 = imerode(I4, line2);
  231. line3 = ones (1,21);
  232. I6 = imdilate(I5, line3);
  233. I7 = imreconstruct(min(I6, I4), I44);
  234.  
  235. figure(1)
  236. subplot(3,3,1);
  237. imshow(I1);
  238. subplot(3,3,2);
  239. imshow(I2);
  240. subplot(3,3,3);
  241. imshow(I3);
  242. subplot(3,3,4);
  243. imshow(I4);
  244. subplot(3,3,5);
  245. imshow(I5);
  246. subplot(3,3,6);
  247. imshow(I6);
  248. subplot(3,3,7);
  249. imshow(I7);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement