Hoe bijhouden van uw Robot met OpenCV (16 / 28 stap)

Stap 16: OpenCV begint


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 
We zijn nu in het vlees.

88: Dit verhoogt de teller van onze frame.

91:  We lezen één frame van de webcam die wij verklaard, pet, op lijn 44.

OPENCV! Sorry, ik hou gewoon van het zo veel.

Dus, nu weet je dat ik heb niet gelezen de OpenCV-handleiding.  En niet vertel me, "wat! Ga RTFM!"  Ga je RTFM! Ik heb een baan die ik hou van een vrouw en kind.  I 'm just gonna prutsen met onzin en krijgen om te werken. Maar deze houding zal beginnen te tonen als we gaan door middel van de OpenCV oproepen, aangezien ik niet van hun innerlijke werken weet.  In plaats daarvan, ik ga te bieden mijn beste gok, en zoals altijd, als iemand wil mij corrigeren of bieden betere uitleg, ik post en krediet geven.

94:  Dit vervaagt de afbeelding die we kregen.  Je kan zeggen, "maar ik dacht dat hogere resolutie beter was?" Het is.  Maar rafelige randen en kleurruis zijn niet.  Een eenvoudige vorm is veel gemakkelijker voor math van OpenCV teruglopen dan complex.  Dus vervagen we het beeld een beetje, geeft ons zachtere randen te behandelen.

Ook, vervagen melds kleuren, dus als er 2 blauwe pixels zijn en 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 rode pixel in een groep, dan is het geworden 3 blauw-paarse pixels.  Dit heeft de handige voordeel voor het versnellen van de beeldverwerking alot.  Hoeveel? Ik weet niet dat ik niet RTFM.

97-100: Onze afbeelding wordt geconverteerd naar een histogram hier.  Met de afbeelding in de vorm van een histogram laat ons toe om gebruik van de verklaringen van de vergelijkende mee.  Wat we gebruiken voor is om zich te ontdoen van alle kleuren behalve degene die we proberen te vinden.  Dit geeft ons een zwart-wit beeld, de witte wordt alleen de kleur die wij zijn op zoek naar. Lijn 98 is waar uw kleur is gedefinieerd (het is de twee "np.array"s).

In de volgende stap die ik zal gaan door hoe om uw robot de exacte kleur te selecteren.

103:  Vindt de contouren van het witte gebied in de resulterende afbeelding.

107-112: OpenCV vervolgens telt hoeveel pixels in elk contour die wordt aangetroffen in het webcambeeld.  Het veronderstelt welke heeft de meeste witte oppervlakte (aka, "massa") is ons doel.

114-117: Nadat we welk object dat we willen volgen besloten, nu moeten we om te komen met de coördinaten van het zwaartepunt.  Dat is wat lijnen 115-116 doen.  Ik heb het onderzoek op de wiskunde er niet gedaan, maar ik denk dat het gemiddelde van de momenten van de veelhoek en roept het gemiddelde centroid X of Y, afhankelijk van de berekening.  Maar voel je vrij om te corrigeren of beter uitleggen.

121-127: Hier lock wij op de massa die wij geloven is de robot.  Het begint met het verzamelen van een 150 monsters voordat het zal verklaren is het bijhouden van de grootste massa.  Maar nadat het is begonnen om bij te houden van de grootste massa, dan proberen we te blijven vergrendeld op het.  Dit is de lijn 122-127.  Kortom, toestaan we dat de massa te verplaatsen genoeg om te worden beschouwd als een beweging door de robot, maar niet zozeer dat lawaai (zoals een verdwaalde hand in de webcambeeld) zal leiden tot de tracering uitschakelen van de robot.

Gerelateerde Artikelen

Maken van een Robot met Camera kleurherkenning

Maken van een Robot met Camera kleurherkenning

Hallo! Dit is voor groep 18 jaar of ouder.Dit instructable begeleidt u stapsgewijs door het bouwen van een robot met kleurherkenning met behulp van een camera en een servo. De robot die zal ik bouwen heeft ook servo's voor wapens, maar ze zijn niet n
Stem van de Robot met behulp van vrije software

Stem van de Robot met behulp van vrije software

hebben u ooit gewild uw eigen persoonlijke robot stem om u te vertellen heb je mail, of u te mogen verwelkomen op uw computer wanneer u inlogt?Zoek niet meer! Voor met een website, een gratis audio bewerkingsprogramma, en een paar eenvoudige stappen
Controle van uw Robot met behulp van de mobiele telefoon

Controle van uw Robot met behulp van de mobiele telefoon

DEZE hele TUTORIAL IS ook beschikbaar op mijn WEBSITEHallo zal wereld in deze post ik u tonen hoe om te controleren van de robot met behulp van de mobiele telefoon. Besturen van een robot met behulp van de mobiele telefoon is niet zo ingewikkeld als
Hoe maak je kleine robots met nRover bestuur

Hoe maak je kleine robots met nRover bestuur

De nRover, is een kleine bord gemaakt om te bouwen van kleine robots zoals UGV (onbemande ground voertuigen), lijn volgeling of Domotica, het kan worden gecontroleerd door wifi, Bluetooth en radio-controle. Het belangrijkste doel is de ontwikkeling v
Doolhof van Oplosser Robot, met behulp van kunstmatige intelligentie met Arduino

Doolhof van Oplosser Robot, met behulp van kunstmatige intelligentie met Arduino

(Als je dit Instructable, vergeet dan niet te stemmen (boven: rechts hoek vlag). Rex, de Robot concurreert op ROBOTICA en sensoren wedstrijden. Heel hartelijk bedankt! ;-)Dit Instructable werd ontwikkeld na mijn laatste project: lijn volgeling Robot
Het bijhouden van een lichtbron met een Actuator

Het bijhouden van een lichtbron met een Actuator

.. .of misschien het moet worden genoemd "Met behulp van een oude zonnecel van een volledig gecorrodeerde tuin licht als een lichtsensor". :)In dit instructable, ik bouwen op mijn vorige en Toon u hoe kun je een actuator vinden de grootste licht
Besturen van een Robot met een Wii-afstandsbediening

Besturen van een Robot met een Wii-afstandsbediening

Dit is een leuke kleine project die gebruikmaakt van een Raspberry Pi, een Robot Finch en een Wii-afstandsbediening (AKA Wiimote), om aan te tonen enkele van de dingen die je met een raspberry pi en/of een Wii doen kunt remote. Het maakt gebruik van
Delen en bijhouden van uw boeken met behulp van BookCrossing

Delen en bijhouden van uw boeken met behulp van BookCrossing

BookCrossing is een website die u toelaat om unieke nummers toewijzen aan uw boeken, en gebruik van deze nummers om uw boeken als ze over de hele wereld reizen. Dit wordt natuurlijk een stuk spannender als uw boeken daadwerkelijk krijgen om te vertre
Controle van uw Robot met behulp van een Wii Nunchuck (en een Arduino)

Controle van uw Robot met behulp van een Wii Nunchuck (en een Arduino)

na het dragen van mezelf spelen van Wii Boksen, ik kreeg aan het denken zou het niet geweldig als ik zou kunnen dit gebruiken om te controleren mijn robot, (op zoek naar mijn linkerhand).Op zoek rond het internet vond ik een schare van mensen die soo
Afstand houden van de robot met de Smart Controller Servo

Afstand houden van de robot met de Smart Controller Servo

Deze demo ik ga u tonen hoe gebruik je de Smart Controller Servo te maken van een robot zijn afstand houden.Het maakt gebruik van twee continue rotatie servomotoren en een afstandssensor. De slimme Servo-Controller wordt gebruikt voor het maken van e
Besturen van een Robot met een RC zender & ontvanger

Besturen van een Robot met een RC zender & ontvanger

In dit instructable zal lopen we door middel van het instellen van een traditionele RC hobby zender en ontvanger met een RoboClaw motorcontroller te rijden een robot rond (zoals De ServoCity.com Runt Rovers).Stap 1: Draad het omhoog.Motoren:Hebt u me
Basis Set van en de controle van een Robot met vaste as

Basis Set van en de controle van een Robot met vaste as

Dit is hoe we waren in staat om een robot met een fix as bewegen rond een vierkant met 2 x 2 en toont ook hoe we het instellen.Stap 1: De Items die u nodig hebtItemsEen 9v batterijEen 9v batterij connector0.0 Philips hoofd schroevendraaier4 DC-motore
Versterken van uw robot met sugru

Versterken van uw robot met sugru

In onze hackerspace bouwen www.MADspace.nl we hebben een robot die een prijs heeft gewonnen (Zie url: http://hackaday.io/project/740-mars). Maar helaas het materiaal is zwak en kan breken tijdens het rijden de robot te hard tegen de muur. Met Sugru k
Het bouwen van een Robot met behulp van MSP430 Launchpad

Het bouwen van een Robot met behulp van MSP430 Launchpad

In dit Instructable gaan we aan het bouwen van een kleine robot met behulp van MSP430 Launchpad van TI. De robot zal gebruik maken van twee gericht gelijkstroommotoren en differentiële aandrijfsysteem zal tewerkstellen.De intelligentie is voorzien va