Étape 5: Explication de Code
MATLAB
BLOC D’INITIALISATION
-dans ce bloc de code, nous initialisons la webcam, la communication de port série et la vidéo elle-même
-vid = videoinput('winvideo',1) ; Si vous utilisez deux est plus webcam simultanément sur votre ordinateur à la fois, puis vous nef de prêter attention au nombre (1) sur la ligne. modifier ce nombre si vous avez du mal à obtenir la vidéo de votre webcam (1,2,3...)
-s = serial('COM68','BaudRate',9600) ; changement (COM68) nombre de COM approprié de votre arduino uno planche
étant donné que nous allons communiquer avec arduino par série... c’est obligatoire
DÉBUT
-étant donné que le projet est destiné à expliquer les choses sur le traitement de l’image. J’ai gardé tout (j’ai < = 300) qui s’arrêtera le processus après itération 300. mais, si vous voulez prolonger pour aller long avec while(1==1)
-données = getsnapshot(vid) ; Cette ligne obtient un instantané de flux vidéo et stocke dans une variable nommée date pour faire un peu de maths sur elle (ya... il y a beaucoup de maths à venir.. être prête!!!)
-diff_im = imsubtract(data(:,:,1), rgb2gray(data)) ; Ceci conclut la portion de couleur rouge de l’image et soustraire du reste de l’image pour former un masque
-diff_im = im2bw(diff_im,0.18) ; Cela convertir l’image normale en image binaire (0,1)
-bw = bwlabel (diff_im, 8) ;
ses stats = regionprops (bw, « tout ») ;
il forme la limite autour du masque et la lable avec identification numéro et recueillir des informations à ce sujet
BLOC DE COLLECTE D’INFORMATIONS
-pour objet = 1:length(stats)
obj_found = 1 ; BB = stats(object). BoundingBox ; BC = stats(object). Centre de gravité ; ar=Stats(Object). Zone ; Rectangle('Position',BB,'EdgeColor','r','LineWidth',2) plot(bc(1),bc(2), '-m +')
rassemble des informations différentes adout l’objet rouge comme (BOUNDINGBOX, Centre, région)
DISTANCE et côté trouver
_ ce bloc traite les mathématiques de trouver la distance et de côté ou de l’orientation de l’objet dont il a besoin... math .....................
aller approfondie ce bloc une fois sont deux fois plus de comprendre ce qu’il fait
Fondamentalement, ir trouve la zone pour calculer la distance et le Centre pour trouver à droite et à gauche