Advertisement
Guest User

Untitled

a guest
Jan 20th, 2020
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.30 KB | None | 0 0
  1. function [cechy, obiekt] = obr2cechy(obraz, tlo)
  2. obr_r = imabsdiff(obraz, tlo);
  3. obr_bw = im2bw(obr_r, graythresh(obr_r));
  4. [obr_ind, il_ob] = bwlabel(obr_bw);
  5. pow_max = bwarea(obr_ind == 1);
  6. idx_max = 1;
  7.  
  8. for i = 2 : il_ob
  9. pow = bwarea(obr_ind == i);
  10. if pow > pow_max
  11. pow_max = pow;
  12. idx_max = i;
  13. end
  14. end
  15. obiekt = (obr_ind == idx_max);
  16. cechy = [niezm1(obiekt),niezm2(obiekt),niezm3(obiekt),niezm4(obiekt),niezm5(obiekt),niezm6(obiekt),niezm7(obiekt)];
  17. end
  18.  
  19. info = imaqhwinfo('winvideo');
  20. vid = videoinput('winvideo');
  21. preview(vid);
  22. set(vid, 'TriggerRepeat', Inf);
  23. set(vid,'ReturnedColorSpace','rgb');
  24. triggerconfig(vid, 'Immediate');
  25. skala = 1;
  26.  
  27. input('Nacisnij <ENTER> aby zapisac obraz tla');
  28. tlo = getsnapshot(vid);
  29. tlo = imresize(tlo, skala);
  30. imwrite(tlo, 'tlo.bmp');
  31.  
  32. input('Nacisnij <ENTER> aby zapisac obraz obiektu 1');
  33. obr = getsnapshot(vid);
  34. obr = imresize(obr, skala);
  35. imwrite(obr, 'obiekt.bmp');
  36.  
  37. [cechy1, obiekt] = obr2cechy(obr, tlo);
  38.  
  39. input('Nacisnij <ENTER> aby zapisac obraz obiektu 2');
  40. obr = getsnapshot(vid);
  41. obr = imresize(obr, skala);
  42. imwrite(obr, 'obiekt.bmp');
  43.  
  44. [cechy2, obiekt] = obr2cechy(obr, tlo);
  45.  
  46. input('Nacisnij <ENTER> aby zapisac obraz obiektu 3');
  47. obr = getsnapshot(vid);
  48. obr = imresize(obr, skala);
  49. imwrite(obr, 'obiekt.bmp');
  50.  
  51. [cechy3, obiekt] = obr2cechy(obr, tlo);
  52.  
  53. input('Nacisnij <ENTER> aby zapisac obraz obiektu 4');
  54. obr = getsnapshot(vid);
  55. obr = imresize(obr, skala);
  56. imwrite(obr, 'obiekt.bmp');
  57.  
  58. [cechy4, obiekt] = obr2cechy(obr, tlo);
  59.  
  60. input('Nacisnij <ENTER> aby zapisac obraz obiektu 5');
  61. obr = getsnapshot(vid);
  62. obr = imresize(obr, skala);
  63. imwrite(obr, 'obiekt.bmp');
  64.  
  65. [cechy5, obiekt] = obr2cechy(obr, tlo);
  66.  
  67. input('Nacisnij <ENTER> aby zapisac obraz obiektu 6');
  68. obr = getsnapshot(vid);
  69. obr = imresize(obr, skala);
  70. imwrite(obr, 'obiekt.bmp');
  71.  
  72. [cechy6, obiekt] = obr2cechy(obr, tlo);
  73.  
  74. baza = [
  75. 1, cechy1
  76. 1, cechy2
  77. 1, cechy3
  78. 2, cechy4
  79. 2, cechy5
  80. 2, cechy6];
  81.  
  82. for a = 1 : 4
  83. input('Nacisnij <ENTER> aby zapisac obraz obiektu');
  84. obr = getsnapshot(vid);
  85. obr = imresize(obr, skala);
  86. imwrite(obr, 'obiekt.bmp');
  87.  
  88. [cechy, obraz] = obr2cechy(obr, tlo);
  89.  
  90. klasa = KlasyfikKNN(baza, cechy)
  91. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement