Advertisement
cristiano002

Wizja komputerowa LAB5

Dec 2nd, 2014
40
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MatLab 2.83 KB | None | 0 0
  1. es3 = ones(3,3);
  2. es7 = ones(7,7);
  3. obj = strel('disk',2);
  4.  
  5. imaqhwinfo
  6. info = imaqhwinfo('winvideo')
  7. vid = videoinput('winvideo') %utworzenie obiektu powiązanego z wejściem wideo
  8.  
  9. preview(vid) %utworzenie okna podglądu
  10.  
  11. get(vid) %wyświetlenie właściwości obiektu powiązanego z wejściem wideo
  12. get(getselectedsource(vid)) %wyświetlenie właściwości obiektu powiązanego
  13. %ze źródłem wideo
  14. set(vid, 'TriggerRepeat', Inf) %ustawienie właściwości TriggerRepeat na wartość Inf
  15. %– ciągła akwizycja obrazów (do momentu
  16. %zamierzonego jej przerwania)
  17.  
  18. set(gcf, 'doublebuffer', 'on') %zapewnia płynne wyświetlanie
  19. start(vid) %uruchomienie obiektu (powoduje automatyczne wyzwolenie akwizycji)
  20.  
  21.  
  22. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%FUNKCJA%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  23. input('Zrob zdjecie obiektu kl 1');
  24. data1a = getsnapshot(vid);
  25. input('Zrob zdjecie obiektu kl 1');
  26. data1b = getsnapshot(vid);
  27. input('Zrob zdjecie obiektu kl 2');
  28. data2a = getsnapshot(vid);
  29. input('Zrob zdjecie obiektu kl 2');
  30. data2b = getsnapshot(vid);
  31.  
  32.  
  33. data1a = rgb2gray(data1a);
  34. czarnobialy1 = im2bw(data1a,0.5);
  35. czarnobialy1 = imresize(czarnobialy1,0.5);
  36.  
  37. data1b = rgb2gray(data1b);
  38. czarnobialy2 = im2bw(data1b,0.5);
  39. czarnobialy2 = imresize(czarnobialy2,0.5);
  40.  
  41. data2a = rgb2gray(data2a);
  42. czarnobialy3 = im2bw(data2a,0.5);
  43. czarnobialy3 = imresize(czarnobialy3,0.5);
  44.  
  45. data2b = rgb2gray(data2b);
  46. czarnobialy4 = im2bw(data2b,0.5);
  47. czarnobialy4 = imresize(czarnobialy4,0.5);
  48.  
  49. [obr_ind, n] = bwlabel(czarnobialy1);
  50. obr_i = (obr_ind==n);
  51. pow = bwlabel(obr_i);
  52. wc_ob_1_kl1 = [niezm1(obr_i), niezm2(obr_i), niezm7(obr_i)];
  53.  
  54. [obr_ind, n] = bwlabel(czarnobialy2);
  55. obr_i = (obr_ind==n);
  56. pow = bwlabel(obr_i);
  57. wc_ob_2_kl1 = [niezm1(obr_i), niezm2(obr_i), niezm7(obr_i)];
  58.  
  59. [obr_ind, n] = bwlabel(czarnobialy3);
  60. obr_i = (obr_ind==n);
  61. pow = bwlabel(obr_i);
  62. wc_ob_1_kl2 = [niezm1(obr_i), niezm2(obr_i), niezm7(obr_i)];
  63.  
  64. [obr_ind, n] = bwlabel(czarnobialy4);
  65. obr_i = (obr_ind==n);
  66. pow = bwlabel(obr_i);
  67. wc_ob_2_kl2 = [niezm1(obr_i), niezm2(obr_i), niezm7(obr_i)];
  68.  
  69. baza = [1 wc_ob_1_kl1;
  70.         1 wc_ob_2_kl1;
  71.         2 wc_ob_1_kl2;
  72.         2 wc_ob_2_kl2;];
  73.    
  74. %%%%%%%%%%%% END FUNCTION
  75. %%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  76.  
  77. input('Zrob zdjecie do porownania');
  78. obr = getsnapshot(vid);
  79. obr = rgb2gray(obr);
  80. czarnobialy = im2bw(obr,0.5);
  81. czarnobialy = imresize(czarnobialy,0.5);
  82. %imshow(czarnobialy);
  83.  
  84. [obr_ind, n] = bwlabel(czarnobialy);
  85. obr_i = (obr_ind==n);
  86. pow = bwlabel(obr_i);
  87. wc_ob_i = [niezm1(obr_i), niezm2(obr_i), niezm7(obr_i)];
  88. kl = KlasyfikKNN(baza,wc_ob_i);
  89.  
  90. if(kl==1)
  91. input('Jest ręka');    
  92. elseif(kl==2)
  93.     input('Nie ma ręki');
  94. end
  95.  
  96. stop(vid)
  97. delete(vid) %usunięcie obiektu wideo
  98. clear %wyczyszczenie przestrzeni roboczej MATLABa
  99. %close(gcf) %zamknięcie okna graficznego
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement