Objekt spårning bot med hjälp av bildbehandling (5 / 7 steg)
Steg 5: Kod förklaring
MATLAB
INITIERING AV BLOCK
-i detta kodblock vi initiera webbkameran, seriell kommunikation och själva videon
-vid = videoinput('winvideo',1); Om du använder två är mer webcam samtidigt i datorn vid en tidpunkt, då du skeppet att uppmärksamma nummer (1) i den linjen. ändra detta nummer om du har några problem att få videon foder från din webbkamera (1,2,3...)
-s = serial('COM68','BaudRate',9600); ändra (COM68) till lämpligt COM antal din arduino uno styrelse
eftersom vi kommer att kommunicera med arduino genom följetong... är detta obligatoriskt
BÖRJAN
-eftersom projektet är avsett att förklara saker om bildbehandling. Jag höll samtidigt (jag < = 300) som stannar processen efter 300 iteration. men om du vill förlänga den för lång gå med while(1==1)
-data = getsnapshot(vid); linjen blir en ögonblicksbild från video foder och lagrar det i variabeln kallas datum för att göra lite matte på det (ya... det finns en hel del matematik kommer.. vara redo!!!)
-diff_im = imsubtract(data(:,:,1), rgb2gray(data)); Detta får reda på del av röd färg från bilden och subtrahera det från resten av bilden för att bilda en mask
-diff_im = im2bw(diff_im,0.18); Detta konvertera normala bilden till binär (0,1) bild
-bw = bwlabel (diff_im, 8);
statistik = regionprops (bw, "alla");
Det bildar en gräns runt mask och lable dem med identifiering nummer och samla information om det
INFORMATION GATHERING BLOCK
-för objekt = 1:length(stats)
obj_found = 1; BB = stats(object). BoundingBox; BC = stats(object). Centroiden; ar=stats(Object). Område. Rectangle('Position',BB,'EdgeColor','r','LineWidth',2) plot(bc(1),bc(2), '-m + ")
samlar olika information adout röda objektet som (BOUNDINGBOX, CENTER, område)
AVSTÅND och sida att hitta
_ detta block behandlar matematik att hitta avståndet och sidan eller läggning av objektet som det ser ut... math .....................
gå grundlig detta block är en gång två gånger att förstå vad den gör
i princip finner ir området för att beräkna avstånd och center ta höger och vänster sida