OpenMV Cam är en liten, lågenergikrävande mikrokontrollerkort som gör det möjligt för dig att enkelt implementera applikationer med maskinseende i verkligheten. Du programmerar OpenMV Cam med avancerade Python-skript (tack vare MicroPython-operativsystemet) istället för C/C++. Detta gör det enklare att hantera de komplexa utdata från maskinseendealgoritmer och att arbeta med avancerade datastrukturer. Men du har fortfarande full kontroll över din OpenMV Cam och dess I/O-pinnar i Python. Du kan enkelt utlösa att ta bilder och video vid externa händelser eller utföra maskinseendealgoritmer för att ta reda på hur du ska kontrollera dina I/O-pinnar.
OpenMV Cam har följande funktioner:
- STM32H743IIARM Cortex M7-processor som körs på 480 MHz med 32 MB SDRAM + 1 MB SRAM och 32 MB extern flashminne + 2 MB internt flashminne. Alla I/O-stift levererar 3,3 V och är 5 V-toleranta. Processorn har följande I/O-gränssnitt:
- En full hastighets USB (12 Mbit/s)-gränssnitt till din dator. Din OpenMV Cam kommer att visas som en virtuell COM-port och en USB-minnesenhet när den är ansluten.
- En μSD-kortkontakt med kapacitet för 100 Mbit/s läsning/skrivning, vilket gör att din OpenMV-kamera kan ta bilder och enkelt hämta maskinseende-tillgångar från μSD-kortet.
- En SPI-buss som kan köra upp till 80 Mbit/s, vilket gör att du enkelt kan strömma bilddata från systemet till antingen LCD-skölden, WiFi-skölden eller en annan mikrokontroller.
- En I2C-buss (upp till 1 Mb/s), en CAN-buss (upp till 1 Mb/s) och en asynkron seriell buss (TX/RX, upp till 7,5 Mb/s) för gränssnitt med andra mikrokontroller och sensorer.
- En 12-bit ADC och en 12-bit DAC.
- Två I/O-stift för servostyrning.
- Avbrott och PWM på alla I/O-stift (det finns 10 I/O-stift på kortet).
- Och, en RGB-LED och två högeffektiva 850 nm IR-LED:er.
- 32 MB extern 32-bit SDRAM klockad på 100 MHz för 400 MB/s bandbredd.
- 32 MB extern quadspi-flash klockad på 100 MHz i 4-bitars DDR-läge för 100 MB/s bandbredd (läsningshastighet).
- Ett avtagbart kameramodulsystem med stöd för 8-bitars parallellanslutning, vilket gör det möjligt för OpenMV Cam H7 att ansluta till olika sensorer:
- OpenMV Cam H7 Plus levereras med enOV5640Bildsensorn kan ta bilder med en upplösning på 2592x1944 (5MP). De flesta enkla algoritmer kommer att köras mellan 25-50 FPS vid QVGA-upplösningar (320x240) och lägre. Din bildsensor levereras med ett 2,8 mm objektiv på ett standard M12-objektivfäste. Om du vill använda mer specialiserade objektiv med din bildsensor kan du enkelt köpa och montera dem själv. För att använda mer specialiserade objektiv kan du enkelt installera dem.
- För professionella maskinseendeapplikationer kan du köpa vår SingTownglobal shutter-kameramodul mt9V034SingTown.
- För infraröd termisk bildgivande maskinseendeapplikationer kan du köpa vårFLIR Lepton termisk bildmodul.
- 3,7 V litiumjonbatterigränssnitt, du kan köpa vår SingTown3,7 V-1000 mAh litiumjonbatteri
Dokumentation:https://singtown.com/openmv/
Applikationer
För närvarande kan OpenMV-kameran utföra följande (med fler funktioner på väg):
- Neuralt Nätverksobjektdetektering
- Du kan använda OpenMV för att träna neurala nätverk för objektidentifiering, där du kan träna vilket mål som helst du vill upptäcka. Till exempel kan olika siffror, olika frukter, olika markörer, olika delar eller vilka specifika oregelbundna mål som helst tränas för att identifiera antalet, koordinaterna och objekttypens namn för specifika mål.
- Du kan upptäcka trafikskyltar på våra faktiska vägar baserat på våra videogenomgångar, såsom ingen tutning, ingen parkering, hastighetsbegränsning 80, etc./learn/50918
- Neuralnätverksklassificering
- Du kan använda OpenMV för att träna neurala nätverk för objektidentifiering, där du kan träna vilket mål som helst du vill upptäcka. Till exempel kan olika siffror, olika frukter, olika markörer, olika delar eller vilka specifika oregelbundna mål som helst tränas för att identifiera antalet, koordinaterna och objekttypens namn för specifika mål.
- Den kan klassificera om en person bär munskydd baserat på vår videohandledning./learn/50872
- TensorFlow Lite för mikrokontroller
- TensorFlow Lite-stöd gör att du kan köra anpassade bildklassificerings- och segmenteringsmodeller på OpenMV Cam. Med TensorFlow Lite kan du enkelt klassificera komplexa områden i bilden och styra 1/0-stiften baserat på vad du ser.

- Frame Differencing
- Du kan använda ramdifferensalgoritmen på din OpenMV Cam för att se rörelse i en scen. Ramdifferensering gör att din OpenMV kan användas för säkerhetsapplikationer.
- Färgspårning
- Du kan använda OpenMV för att upptäcka upp till 16 färger samtidigt i en bild (även om du aldrig kommer att vilja hitta fler än 4 färger), och varje färg kan ha valfritt antal olika blobbar. OpenMV kommer att berätta positionen, storleken, centrum och orienteringen för varje blob. Genom att använda färgspårning kan din OpenMV Cam programmeras för att spåra solen, följa linjer, spåra mål och mycket mer. Videodemo:/learn/49993

- Marker Tracking
- Du kan använda din OpenMV Cam för att upptäcka färggrupper istället för enskilda färger. Detta gör att du kan placera färgetiketter (2 eller fler färgmärken) på objekt och OpenMV kommer att få innehållet i de märkta objekten.
- Ansiktsdetektering
- Du kan använda din OpenMV-kamera för att upptäcka ansikten (eller vilket generiskt objekt som helst). Din OpenMV-kamera kan bearbeta Haar-mallar för generisk objektupptäckt och levereras med inbyggda Frontal Face och Eye Haar-mallar för att upptäcka ansikten och ögon./learn/50013
- Ögonföljning
- Du kan använda ögonspårning för att upptäcka riktningen någon tittar. Du kan använda detta för att styra robotar. Ögonspårning detekterar pupillposition samtidigt som den upptäcker om ögon finns i bilden.
- Person Detection
- Du kan använda den inbyggda personupptäckaren (TensorFlow Lite-modell) för att upptäcka om det finns personer inom synhåll.
- Optisk Flöde
- Du kan använda optisk flöde för att upptäcka rörelse framför din OpenMV-kamera. Till exempel kan du använda optisk flöde på en quadcopter för att kontrollera stabiliteten i luften.
- QR-kod Detektion/Avkodning
- Du kan använda din OpenMV Cam för att läsa QR-koder inom dess synfält. Med QR-koddetektering/-avkodning kan du möjliggöra för smarta robotar att läsa etiketter i sin omgivning.
- Data Matrix Detektering/Dekodning
- OpenMV Cam kan också upptäcka och avkoda Data Matrix-koder (2D-streckkoder). Du kan se vår video här.
- Linjär streckkodavkodning
- OpenMV Cam kan också bearbeta 1D-streckkoder. Den kan avkoda EAN2, EAN5, EAN8, UPCE, ISBN10, UPCA, EAN13, ISBN13, I25, DATABAR, DARABAR_EXP, CODABAR, CODE39, CODE93 och CODE128. Se vår video här:/learn/50017
- AprilTag-spårning
- Ännu bättre än QR-koderna ovan kan OpenMV Cam också spåra AprilTags. AprilTags är toppmoderna referensmarkörer som är rotationsinvarianta, skalinvarianta, skjuvningsinvarianta och belysningsinvarianta. Se vår video här:/learn/49590
- Linjedetektering
- OpenMV Cam kan snabbt slutföra oändlig linjeupptäckt samtidigt som den kör i nästan full bildhastighet. Dessutom kan den hitta icke-oändliga linjesegment. Du kan se vår video här:/learn/50009
- Cirkeldetektering
- Du kan enkelt använda OpenMV för att upptäcka cirklar i bilder.
- Rektangelupptäckt
- OpenMV kan också upptäcka rektanglar genom att använda kvadratdetekteringskoden från AprilTag-biblioteket.
- Mallmatchning
- Du kan använda OpenMV-mallmatchning för att upptäcka om det finns mallliknande bilder i bildfältet. Till exempel kan mallmatchning användas för att hitta markörer på kretskort eller läsa kända siffror på displayer.
- Bildfångst
- Du kan använda OpenMV för att fånga RGB565/gråskale-BMP/JPG/PPM/PGM-bilder. Du kan direkt styra hur bilder fångas i Python-skript. Viktigast av allt, använd maskinseendealgoritmer för att rita linjer, skriva tecken och sedan spara.
- Videoinspelning
- Du kan använda OpenMV-kameran för att spela in RGB565/gråskala MJPEG-videor eller GIF-bilder (eller RAW-videor). Du kan direkt styra hur varje videoram spelas in i Python-skript och ha full kontroll över när videoinspelningen börjar och slutar. Dessutom kan du, precis som vid fotografering, använda maskinseendealgoritmer för att rita linjer, skriva tecken och sedan spara.
Slutligen kan alla ovanstående funktioner kombineras med IO-styrning för att fungera med dina egna anpassade applikationer och interagera med den verkliga världen.