Comment suivre votre Robot avec OpenCV (14 / 28 étapes)

Étape 14 : Fonction OpenCV commence

 #Incrementing frame index iFrame = iFrame +1#Read the frames _,frame = cap.read() #Smooth it frame = cv2.blur(frame,(3,3)) #Convert to hsv and find range of colors hsv = cv2.cvtColor(frame,cv2.COLOR_BGR2HSV) thresh = cv2.inRange(hsv,np.array((0, 80, 80)), np.array((20, 255, 255))) thresh2 = thresh.copy() #Find contours in the threshold image contours,hierarchy = cv2.findContours(thresh,cv2.RETR_LIST,cv2.CHAIN_APPROX_SIMPLE) #Finding contour with maximum area and store it as best_cnt max_area =0for cnt in contours: area = cv2.contourArea(cnt) if area > max_area: max_area = area best_cnt = cnt #Finding centroids of best_cnt and draw a circle there M = cv2.moments(best_cnt) cx,cy =int(M['m10']/M['m00']), int(M['m01']/M['m00']) cv2.circle(frame,(cx,cy),10,255,-1) #After 150 frames, it compares the bot's X and X average,#if they are the same + or - 5, it assumes the bot is being tracked.if iFrame >=150: if cxAvg < (cx +5) and cxAvg > (cx -5): xOld == cxAvg stringXOk ="X Lock"if cyAvg < (cy +5) and cyAvg > (cy -5): yOld == cyAvg stringYOk ="Y Lock" 
 98 

42: ici nous commençons cette fonction qui fait l’essentiel de l’ouvrage, OpenCV() :.  C’est l’une des fonctions que sera enfilée en ligne 345-347.

44: nous ouvrent à la webcam et lui donner le Pseudo PAC.  Si je me souviens bien, le « 0 » dans la parenthèse réfère à toute caméra prévalant sur votre bus USB, donc si vous avez plus d’une caméra, vous pouvez spécifier en changeant ce numéro, par exemple, cap = cv2. VideoCapture(3).  Notez que nous avons appelé le OpenCV module cv2, donc nous utilisons le module OpenCV pour accéder à la webcam.

46-52: juste faire les variables, nous avons déclaré travail au sein de cette fonction.  Cela ne pourrait pas être nécessaire, mais hé, je ne lis pas du tout manuel de Python.

55:  C’est juste un indicateur de chaîne qui est retourné pour indiquer à l’ordinateur pour générer une nouvelle cible pour le robot.  Noter que nous avons initialement Réglez-le sur « Oui » ce qui signifie que la première fois que nous courons grâce à cette fonction une cible doit être généré.

58:  Il s’agit d’une variable de type entier pour compter combien de points le robot a « mangé ».

OK, avant d’entrer dans le prochain bit, j’ai besoin de prendre une minute et d’expliquer comment l’aborder réellement obtenir les coordonnées de notre robot.  Comme vous le savez, OpenCV effectue le travail dur pour nous, en nous donnant les coordonnées X et Y du plus grand blob rouge sur l’écran.  Cependant, les coordonnées, qu'il nous donne sont au centre de la masse.  Maintenant, c’est tout juste une supposition logique parce que je n’a pas lu le manuel de OpenCV ensemble, mais je crois que la coordonnée X ou Y faisant référence au centre de cette masse est appelée le Centre de gravité.

Cela peut paraît simple.  C’est parce que c’est, je ne sais pas pourquoi nous ne juste l’appeler le centre de merde ou quelque chose.  Eh, Eh bien.  Cependant, il deviendra important quand nous faisons une détection de collision entre le robot et sa cible.

61-62: tout ça pour dire, le "c" dans cyAvg et cxAvg signifie centroïde.  Ainsi, ce sont des variables qui contient la course moyenne pour les coordonnées X et Y du centroïde de la tache rouge.

65-66 : Ce sont des variables de la sauvegarde des cxAvg et des cyAvg et seront importants autour de ligne 122-127 lorsque nous essayons de déterminer si la couleur que nous sommes suivi est en fait le robot ou quelque autre morceau de ferraille assez rouge dedans pour imbécile OpenCV.

69:  Simplement, cela efface la variable de chaîne avec des données qui sont venus le robot, comme la position du robot, avant un autre iFrame commence.

Articles Liés

Comment suivre votre Mac perdu ou volé

Comment suivre votre Mac perdu ou volé

Si vous avez pensé à permettre de trouver mon Mac, vous pouvez suivre votre Mac, le verrouiller à distance et même envoyer des messages à l'écran de votre Mac. En outre, il y a beaucoup plus de moyens pour suivre sa position et exposer le voleur. Cel
Renforcer votre robot avec sugru

Renforcer votre robot avec sugru

Dans notre hackerspace www.MADspace.nl nous devons construire un robot qui a gagné un prix (voir url : http://hackaday.io/project/740-mars). Mais malheureusement, le matériau est faible et peut casser lorsque le robot de conduite trop fort contre le
Ordinateur, donnez-moi le café ! (Comment construire un Robot avec Interface vocale)

Ordinateur, donnez-moi le café ! (Comment construire un Robot avec Interface vocale)

Me souviens comment nous, humains, interagir avec des ordinateurs dans les films de science-fiction ? Ordinateur faire cela, arrêt de l'ordinateur. Pourquoi nous avons toujours ne vois pas tous cette awesomeness d'interface voix dans nos maisons ? Po
Comment nettoyer votre visage avec Rondoudou

Comment nettoyer votre visage avec Rondoudou

un moyen simple pour nettoyer votre visagevous aurez besoinsavon (bonne odeur)Water(duh)lotion (crème hydratante)chiffon (propre)Étape 1: se laver le visage rincer votre visage avec de l'eau pour enlever la saletéÉtape 2: ajouter le savon obtenir env
Comment construire votre Robot vibrant modulaire

Comment construire votre Robot vibrant modulaire

Electronique + LEGO + sugru=Robot vibrant modulaire !http://youtu.be/ELB-XPDBOFIMotivationDepuis quelques années j'ai joué avec le merveilleux HEXBUG, mais j'ai commencé à obtenir frustré par la-Forme et taille : que je n'ai pas pu changer.-Puissance
Comment emballer votre briquet avec Paracord

Comment emballer votre briquet avec Paracord

ce Instructable vous montrera comment encapsuler un briquet (ou autre objet) en paracorde.J'ai récemment acheté quelques paracord après avoir parcouru instructables et a décidé de faire mes propres ' IbleÉtape 1: Ce que vous aurez besoin Vous aurez b
Suivre votre voiture avec un Lojack axée sur l’Arduino

Suivre votre voiture avec un Lojack axée sur l’Arduino

Vol de voiture est un frein réel ! Augmentez vos chances de récupérer votre voiture en installant ce tracker simple axée sur l'Arduino dans votre voiture.Ce projet est assez simple et serait un bon projet pour un nouveau programmeur Arduino vous cher
Comment suivre votre TIGERweb Mail vers votre compte de messagerie

Comment suivre votre TIGERweb Mail vers votre compte de messagerie

avouons-le, TIGERweb mail est une douleur pour vérifier. Microsoft Outlook Web Access est lente, glitch et généralement désagréable à utiliser.C'est là qu'intervient ce tutoriel. Une fois que vous avez fait ici, vous nous l'espérons sera en mesure de
Comment meubler votre appartement avec outils CNC : partie 1 - tabourets empilables de Aalto

Comment meubler votre appartement avec outils CNC : partie 1 - tabourets empilables de Aalto

J'ai récemment déménagé à un nouvel appartement qui manque cruellement ameublement. Au lieu d'aller sur une séance de magasinage chez IKEA, j'utilise les outils CNC à Autodesk Pier 9 pour meubler mon nouvel appartement. Je n'ai pas toute formation en
Comment utiliser votre MotorShield avec REDUCTEUR

Comment utiliser votre MotorShield avec REDUCTEUR

Je voulais aider à donner la Communauté une plus simple à comprendre le guide d'utilisation de moteurs à courant continu avec le Motorshield qui peut être attachée à votre Arduino.Merci de saisir votre Arduino et MotorShield et j'espère que nous pour
Comment nettoyer votre Mac avec MacKeeper

Comment nettoyer votre Mac avec MacKeeper

avec une utilisation fréquente, disque dur de votre Mac finit par parsemée de données inutiles, et cela affecte les performances de votre Mac. Il existe plusieurs façons de nettoyer votre disque dur, et l'un d'eux consiste à installer et utiliser Mac
ZAPpelin, ou comment former votre dirigeable avec une télécommande Arduino et IR

ZAPpelin, ou comment former votre dirigeable avec une télécommande Arduino et IR

est-il battant seal ? Un battement alien ?Non, c'est un ZAPpelin, un Arduino contrôlée dirigeable intérieure, installation d'apprendre dans les signaux d'une télécommande IR à commande.Ce projet est venu à la vie à la troisième to17th Arduino Jam Feb
Comment exercer votre cheval avec gestion du temps

Comment exercer votre cheval avec gestion du temps

sur un temps crunch mais qui ont du bétail qui a besoin d'exercice ? J'espère que cette aide !Étape 1: planificateur Vérifiez votre calendrier, planificateur ou par téléphone pour les dates ou les réunions à venir. Décider si votre avoir assez de tem
Comment organiser votre calendrier avec des bouchons !

Comment organiser votre calendrier avec des bouchons !

You recycle the bottle, so you might as well recycle the caps too!Il existe des tonnes de façons du re-use/upcycle bouchons et cette volonté instructable vous montrent comment transformer des bouchons en aimants organisationnelles !Vous aurez besoin