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

Étape 16 : OpenCV commence

87 88 89 90 91 92 93 94 95 96 97 thresh = cv2.inRange(hsv,np.array((152, 105, 127)), np.array((180, 145, 167))) 99 100 101 102 103 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 
 #This is finding the average of the X cordinate. Used for establishing#a visual link with the robot.#X cxAvg = cxAvg + cx cxAvg = cxAvg /2#Y cyAvg = cyAvg + cy cyAvg = cyAvg /2#//Finding the Target Angle/////////////////////////////////////#Target cordinates.#Randomizing target.if newTarget =="Yes": tX = random.randrange(200, 400, 1) tY = random.randrange(150, 350, 1) newTarget ="No"if iFrame >=170: if tX > cxAvg -45and tX < cxAvg +45: print"Made it through the X"if tY > cyAvg -45and tY < cyAvg +45: print"Made it through the Y" newTarget ="Yes" dots=dots+1 
Nous sommes maintenant dans la viande.

88: Cela augmente notre compteur de vues.

91:  Nous lire une seule image de la webcam, nous avons déclaré, casquette, à la ligne 44.

OPENCV! Désolé, je l’adore tellement.

Donc, maintenant, vous savez que je n’ai pas lu le manuel OpenCV.  Et s’il vous plaît ne me dites pas, "quoi ! Allez RTFM!"  Vous allez RTFM ! J’ai une femme, enfant et un travail que j’aime.  Je vais juste bricoler avec la merde et faire fonctionner. Mais cette attitude va commencer à montrer que nous passons par les appels de OpenCV, puisque je ne connais pas leur fonctionnement interne.  Au lieu de cela, je vais proposer ma meilleure conjecture, et comme toujours, si quelqu'un veut me corriger ou à offrir la meilleure explication, je vais poster et donner crédit.

94:  Cette brouille l’image que nous avons obtenues.  Vous me direz, « mais j’ai pensé à une résolution plus élevée était mieux? » C’est le cas.  Mais les bords découpés et bruit de couleur ne sont pas.  Une forme simple est beaucoup plus facile pour les mathématiques de OpenCV pour envelopper alors complexe.  Par conséquent, nous brouiller l’image un peu, nous donnant des bords plus souples pour faire face à.

En outre, flou allie couleurs, donc si il y a 2 pixels bleus et 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 pixel rouge dans un groupe, il devient bleu-violacé de 3 pixels.  Ceci a l’avantage astucieux d’accélérer le traitement de beaucoupde l’image.  Combien? Je ne sais pas que je n’ai pas RTFM.

97-100 : Notre image est convertie en un histogramme ici.  Avoir l’image dans un format histogramme permet d’utiliser des États comparatifs avec elle.  Ce que nous l’utilisons pour est de se débarrasser de toutes les couleurs sauf celui que nous essayons de trouver.  Cela nous donnera une image noir et blanc, le blanc étant seulement la couleur que nous cherchons à trouver. Ligne 98 est où votre couleur est définie (c’est les deux "np.array"s).

Dans l’étape suivante, je vais passer par la sélection de la couleur exacte de votre robot.

103:  Trouve le périmètre de rayonnement de l’espace blanc dans l’image résultante.

107-112 : OpenCV compte alors le nombre de pixels est dans chaque contour qu’il trouve dans l’image de la webcam.  Il suppose que celui qui a la zone plus blanche (aka, la "masse") est notre objet.

114-117 : Après que nous avons décidé quel objet nous voulons suivre, maintenant il faut venir avec les coordonnées du centre de gravité.  C’est ce que font les lignes 115-116.  Je n'ai pas fait la recherche sur les maths là, mais je crois que c’est en moyenne les moments du polygone et appelle la moyenne soit centroïde X ou Y, selon le calcul.  Mais, n’hésitez pas à corriger ou à expliquer mieux.

121-127 : Ici nous verrouiller sur la masse que nous pensons est le robot.  Il commence par la collecte d’un 150 échantillons avant il énoncera effectue le suivi de la plus grosse masse.  Mais après qu’il a commencé à suivre la plus grosse masse, alors nous essayons de rester verrouillée sur elle.  Il s’agit de la ligne 122-127.  En substance, nous permettons à la masse à déplacer assez d’être considéré comme un mouvement par le robot, mais pas tant que le bruit (comme un coup de main errant dans l’image de la webcam) fera le suivi éteindre le robot.

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