Objektet spårning av färg med Python och openCV (1 / 1 steg)

Steg 1:



Bilden visar utdata från alla steg: från kalibrera, genom upptäckt, binarizing och kantning, perspektiv omvandling och jämföra med en referensavbildning.

Markör upptäckt och hålla fokus under förflyttning, görs av vanlig färg spårning. Det är 50 x snabbare än full tolkning rutin. "openCV Bounding Box" används för att få en mer exakt centroiden (konturer är ibland knepiga när är lite sluggy). En begränsningsram producerar också bredden på de marker, som används för att hålla fokus. Skillnaden visas i den andra bilden av en röd linje för konturer hittade och en grön linje som representerar begränsningsramen.

Rad rutin använder ett konstant värde för att multiplicera bredden av. Konstanten bestäms på en kända intervallet och eftersom alla markörer har samma storlek, bredd i bildpunkter kan användas för allt genom kamerabilden. Allt är inte behövs för att justera position och riktning, men kan användas till att hålla avstånd. (Så: mer på skoj).

Rutinen heads-up display visar också centrum koordinaterna. Också bara för kul (men vem vet)

Skriptet använder en timeout rutin för pytonormar ' time.sleep' är bara tillförlitlig med mycket små mellanrum och exakta tidsgränser är nödvändiga för att exakt svängar. Bilder är tog som global variabel (sparar en hel del att skriva och en liten bit av minnet)

Avläsningar när du flyttar är trimmad av timeout. Rutinen producerar mer än hundra uppläsningar i ett par sekunder, skapar en överbelastning av webbservern och Pi: s minne

Efter jämförande tecknet tvingar skriptet väntan på den senaste bilden att få nästa markör i minnet. Slutligen används rutinen fullständig identifiering för att jämföra skylten med referens bilder. Denna rutin upptäcker den vita inre rektangel, visas i den tredje bilden av en blå rektangel.

Stegen är rakt fram: hitta minsta rektangulär kontur, kanta det, justera perspektiv av skevhet, binarize det och jämföra det med referens bilder på disk.

Skriptet kan enkelt utökas med alla typer av rutiner, som en linje-följande rutin. Rutinen skatteflykt (akuta avbrott när ett hinder påträffas samtidigt på väg mot en markör) måste fyllas i.

Ett bra exempel på att använda objekt spåra av färg i koden finns på:

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

bra instruktioner på objektet identifiering och spårning i Python och openCV färg finns på platsen för Adrian Rosebrock på:

http://www.pyimagesearch.com/

Se Steg
Relaterade Ämnen

Ansiktsdetektering med hjälp av Python och OpenCV bibliotek

Detta projekt kommer att använda OpenCV biblioteket och python för att underlätta ansiktsavkänningSteg 1: Vad du behöver1. en Intel Edison Development Board2. en webbkamera, vi kommer att använda ljus våg LW-IC5003. Python och openCV biblioteket inst...

Att få igång med Python och programmering - The kort handledning

så jag ser att du är intresserad av lärande om programmering... eller ormar.Om du är här i ormar, tyvärr är detta inte platsen för dig. Ja, kanske...Om du är här för att lära sig om programmering eller Python då du har kommit. Denna handledning gjord...

Ansiktsigenkänning och spårning med Arduino och OpenCV

uppdateringar20 feb 2013: Som svar på en fråga från student Hala Abuhasna om du vill använda klassen .NET seriell, använda namnkonventionen "\\\.\\COMn" och ersätt n med en nummer > 9 definiera com-porten för COM-portar över 9 som COM10, COM1...

Spela upp Video med Python och GPIO

Hej igen. Idag ska jag visa ett pågående projekt som jag arbetar på. Mitt företag har skänkt mig nöjet att bygga ett demokit för en av våra produktlinjer. Jag arbeta med låg spänning med brandlarm, säkerhet, videoövervakning och strukturerad kabel (r...

Face Tracking med bearbetning och OpenCV

datorseende är otroligt. Chansen att se världen omkring dem kan computational processer. Det är nödvändigt för många robotic program, maskininlärning och interaktiva projekt. OpenCV är ett open source bibliotek dator vision som gör datorn vision funk...

Hacka en $30 WiFi Pan-Tilt kamera - Video, ljud och Motor control med Python

I detta Instructable lär du dig att fånga upp den video, mikrofon och kontroller av $30 Kaicong SIP1602 trådlös pan-tilt kamera på Windows, Linux eller OSX! Allt rullas prydligt i python skript; Du kan använda utdata för saker som röst transkription,...

Använda XML på Raspberry Pi med Python

Detta Instructable kommer att diskutera användningen av XML på ansökningar om Raspberry Pi. Steg ett täcker vad är XML och formatet för datastrukturer. Steg två täcker bygga och parsning av XML i Python och steg tre kommer att visa hur XML används so...

Experiment i avancerade dataloggning (med Python)

Det finns en hel del uppgifter loggar instructables, så när jag ville bygga ett loggning projekt av min egen jag tittat runt på ett gäng. Några var bra, några inte så mycket, så jag bestämde mig att ta några av de bättre idéerna och göra min egen ans...

Hembryggning beräkningar med Python!

Jag är en ivrig hem brewer och Python programmering entusiast så skapade jag en enkel Python-skript för att hjälpa mig göra min brew dag beräkningar. Skriptet kommer att beräkna många användbara variabler som strike vattentemperatur, strike vattenvol...

Digital bild Management - Del svaga Pics med Python

Tillbaka i dagar med film kosta det pengar varje gång du trycker på avtryckaren, nu "film" är gratis så tar vi ofta dubbletter om fokus, inramning eller några andra detaljer är avstängd. Ibland tar vi bilder från lite olika vinklar av zoom. Resu...

Urklipp kommunikation PC ↔ Pi med Python

Jag använda brukar min hallon-Pi på en delad windows-skrivbordet. Jag delar också en nätverksenhet med Pi. Detta är bra, men jag har fortfarande irritationen i Urklipp på datorn inte kommer till uttryck på Pi. Det kan vara plattformsoberoende apps ut...

Boxhead återskapas med Python med Tkinter

Boxhead återskapas i Python från BenR på Vimeo.Det är en fantastiskt underhållande datorspel kallas Boxhead, där i huvudsak du och/eller en andra person slåss mot horder av attackerande Zombies och djävlar med olika vapen. För en dator science klass...

Grafisk figur Instructable visningar med Python skärmen skrapa

Om du vill se hur din instructables har gjort över tiden kan du titta på dem med fliken något fjällig statistik från din "du sidans" (ledsen proffs bara).Om du vill ha mer kontroll, förmågan att hämta data från andra människor 's instructables m...

Komma igång med Python

Programmering är awesome!Det är kreativ, det är kul och dess ger hjärnan en mental träning. Många av oss vill lära dig om programmering men övertyga oss själva att vi inte, kanske dess har för mycket matte, kanske den jargong som har kastat runt skrä...

Intellekten Edison Sun Station (UV och Temp) med Python #IntelMakerMx

Vi ska använda våra Intel Edison med en Arduino shield och en grove sköld för att ansluta så många sensorer som du vill.GitHub: https://github.com/Kurtz1993/iot-roadshowSteg 1: Kommunicera med våra Edison genom en seriell COM Första, låt oss kommunic...

Räkna vokaler med Python

Python är ett högnivå datorprogram. I detta instructable, blir det steg på hur man räknar vokaler med variabler med hjälp av Python-språket och programmering. Demonstrationen är en fråga som tas från MITx: 6.00.1x introduktion till datavetenskap och...

Plotly med Python

Jag snubblade nyligen, på Plotly, en vacker online datavisualisering system enligt en göra artikel. Det är överflödigt att säga att det finns olika artiklar som visar användningen av Plotly för Arduino, Raspberry Pi, etcetera.Tyvärr finns det ingen e...

Dragon kurva med Python

Dragon kurvan är en intressant och vacker fraktal. Det är faktiskt en familj av själv-liknande fraktaler, men jag kommer att fokusera på den mest kända, Heighway draken, döpt efter en av NASA fysiker som studerat det, John Heighway. Dragon kurvan får...

BeatBox: chock spårning för paket med Intel Edison - Intel IOT

Hej allaVi kom precis tillbaka hem efter deltagande till Intel IoT Roadshow (och hackathon) i London.Det var fantastisk och full av idéer och kreativa drar. En mycket bra erfarenhet. Du borde prova.Vi kom som en redan bildade lag och med en mycket br...