Object tracking door kleur met Python en openCV (1 / 1 stap)

Stap 1:


De afbeelding toont de output van alle stappen: van kalibreren, via detectie, binarizing en rand, perspectief transformatie en vergelijken met een referentiebeeld.

Marker detectie en het houden van focus tijdens het verplaatsen, wordt gedaan door gewone kleur bijhouden. Het is 50 x sneller dan de volledige interpretatie routine. 'openCV begrensd vak' wordt gebruikt om een nauwkeuriger centroid (contouren zijn soms lastige lichtomstandigheden wordt een beetje sluggy). Een selectiekader produceert ook de breedte van de markering, waarmee focus te houden. Het verschil moet worden weergegeven in de tweede foto een rode lijn voor de contouren gevonden en een groene lijn die aangeeft van het begrenzingsvak.

De bereik-routine maakt gebruik van een constante waarde om te vermenigvuldigen de breedte door. De constante wordt bepaald op een bekende bereik en aangezien alle markeertekens dezelfde grootte hebben, de breedte in pixels kan worden gebruikt voor het variërend via de camera beeld. Gaande is niet nodig om de positie en de richting, maar kan worden gebruikt om afstand te houden. (Dus: meer voor de lol).

De routine van de heads-up display toont ook de coördinaten van het centrum. Ook gewoon voor de leuk (maar wie weet)

Het script maakt gebruik van een routine van de time-out voor Pythons 'time.sleep ()' alleen betrouwbaar met zeer kleine intervallen is en nauwkeurige time-outs zijn nodig om de exacte bochten. Beelden zijn greep als globale variabele (bespaart veel typwerk en een klein beetje geheugen)

Lezingen tijdens het verplaatsen worden afgestemd door time-outs. De routine produceert meer dan honderd lezingen in een paar seconden, het maken van een overbelasting van de webserver en Pi's geheugen

Na het vergelijken van het teken dwingt het script een wachttijd voor het laatste beeld te krijgen van de volgende markering in het geheugen. Tot slot wordt de volledige detectie routine gebruikt voor het vergelijken van het teken met de referentie-beelden. Deze routine detecteert de witte binnenste rechthoek, weergegeven in de derde afbeelding door een blauwe rechthoek.

De stappen zijn rechttoe-rechtaan: vinden van de kleinste rechthoekige contour, rand van het aanpassen van perspectief door kromtrekken, binarize het en vergelijken met de beelden van de verwijzing op de schijf.

Het script kan eenvoudig worden uitgebreid met alle soorten routines, zoals een lijn-volgende routine. De ontduiking routine (emergency break wanneer een obstakel wordt aangetroffen terwijl het bewegen richting een marker) nog moet worden ingevuld.

Een goed voorbeeld van het gebruik van object tracking door kleur in code vindt u op:

http://www.RoboRealm.com/tutorial/color_object_tracking_2/slide010.phpVery

goede instructies op object detectie en kleur bijhouden in Python en openCV kunnen worden gevonden op de site van Adrian Rosebrock op:

http://www.pyimagesearch.com/

Gerelateerde Artikelen

Robot Object Tracker met behulp van CV

Robot Object Tracker met behulp van CV

Dit is een project dat we voor onze robotica klasse hebben voltooid. Het maakt gebruik van OpenCV voor het bijhouden van objecten locatie door kleur. Locatiegegevens wordt vervolgens vertaald naar opdrachten die leidt van de robot naar een groene doe
Gezicht detectie en tracking met Arduino en OpenCV

Gezicht detectie en tracking met Arduino en OpenCV

UPDATES20 februari 2013: In antwoord op een vraag van de student Hala Abuhasna wilt u de seriële .NET-klasse gebruiken, gebruiken de naamgevingsconventie "\\\.\\COMn" en n vervangen door een nummer > 9 te definiëren uw com-poort voor COM-poor
Face Tracking met verwerking en OpenCV

Face Tracking met verwerking en OpenCV

Computer-visie is ongelooflijk. Hierdoor computationele processen de kans om de wereld om hen heen te zien. Het is noodzakelijk voor een heleboel robotic toepassingen, machinaal leren of interactieve projecten. OpenCV is een opensource computer visie
Augmented Reality met behulp van Unity3D en Vuforia – echte 3D Object Tracking-DBZ Songoku

Augmented Reality met behulp van Unity3D en Vuforia – echte 3D Object Tracking-DBZ Songoku

Meer Augmented Reality u tutorials vindt hier:1.2.3.4.5.6.7.Stap 1: Volg de onderstaande instructiesDownloaden van de # Unity3D (download en installeer het, als u niet reeds hebt) (*.exe bestand)Unity3d is ook beschikbaar om te downloaden van hier© 1
Randdetectie met behulp van opencv en python

Randdetectie met behulp van opencv en python

gemakkelijk 15 lijn slepen en neerzetten rand detectiecode voor python ising opencv bibliotheekStap 1: Setup-bibliotheekDownload opencv zijn gratis en open source. Het is een van de beste computer visie bibliotheken beschikbaar. Im ' using opencv 2.S
Hack een $30 WiFi Pan-Tilt Camera - Video, Audio en Motor control met Python

Hack een $30 WiFi Pan-Tilt Camera - Video, Audio en Motor control met Python

In dit Instructable leert u hoe te onderscheppen van de video, microfoon en besturingselementen van de $30 Kaicong SIP1602 draadloze pan-tilt camera op Windows, Linux of OSX! Alles is netjes gerold in python scripts; u kunt de uitvoergegevens voor di
Hoe te beginnen met python.

Hoe te beginnen met python.

Dus je aan jezelf denken, Man die codering dudes zeker zijn cool! Of misschien je een codering goeroe en wil om te leren een andere taal om opscheppen over in uw kelder moeders? Goed één van beide manier u hebt gekozen de juiste taal. Python is één v
Beheren van Arduino met python gebaseerd web API (geen php)

Beheren van Arduino met python gebaseerd web API (geen php)

In deze handleiding zal ik u tonen hoe om uw apparaat arduino van een webpagina te controleren! Daarna zal ik u tonen hoe om te controleren uw arduino vanaf uw mobiele apparaat en zelfs het maken van een web-gebaseerde API voor het beheersen van je a
Gebruik van XML met de Raspberry Pi met Python

Gebruik van XML met de Raspberry Pi met Python

Dit Instructable zullen het gebruik van XML op toepassingen voor de Raspberry Pi. Stap één omvat wat is XML en de indeling van de datastructuren. Stap twee zal betrekking hebben op de bouw en het ontleden van XML in Python en stap drie zal tonen hoe
Klembord mededeling PC ↔ Pi met Python

Klembord mededeling PC ↔ Pi met Python

Normaal gebruik ik mijn Raspberry-Pi op een gedeelde bureaublad van windows. Ik deel ook een netwerkstation met de Pi. Dit is geweldig, maar ik heb nog steeds de ergernis van het Klembord op de PC niet wordt weergegeven op de Pi. Al zou het leuker om
Digitale Object item LDR Interfacing met Mediatek LinkIt One

Digitale Object item LDR Interfacing met Mediatek LinkIt One

In dit Instructable zult u kunnen aan Mediatek Linkit een interfacekaart met behulp van LDR en digitale Object Counter die kan tellen objecten t/m 9999.Stap 1: vereisten General-Purpose PCB Board4 CD 4026 Johnson decennium teller.4 gemeenschappelijke
Bestand maken met Python Programming

Bestand maken met Python Programming

Een nuttig hulpmiddel in vele geautomatiseerde programma's is de mogelijkheid om bestaande bestanden te openen ze bewerken en opslaan van de resultaten. In veel gevallen onbewerkte gegevens naar een tekstbestand door het apparaat van de collectie geg
LinkIt ONE - communicatie met python

LinkIt ONE - communicatie met python

Hallo collega makers!Mediatek het nieuwe bestuur, LinkIt ONE biedt grote mogelijkheden - GPS, WiFi, Bluetooth, GSM, uitbreidbaarheid met gpio, sterke processor en meer. Maar soms moet je nog steeds het comfort van python voor parseren bestanden of te
Plotly met Python

Plotly met Python

Ik struikelde onlangs, op Plotly, een prachtige online Data Visualization systeem op grond van een artikel maken. Het is overbodig voor mij om te zeggen dat er verschillende artikelen waaruit het gebruik van Plotly voor Arduino, Raspberry Pi, etceter