De OpenMV Cam is een klein, energiezuinig microcontrollerbord waarmee u eenvoudig toepassingen met machinevisie in de praktijk kunt implementeren. U programmeert de OpenMV Cam in hoogwaardige Python-scripts (dankzij het MicroPython-besturingssysteem) in plaats van in C/C++. Dit maakt het gemakkelijker om te gaan met de complexe uitvoer van machinevisie-algoritmen en te werken met hoogwaardige gegevensstructuren. Toch behoudt u volledige controle over uw OpenMV Cam en zijn I/O-pinnen in Python. U kunt eenvoudig foto's en video's laten maken bij externe gebeurtenissen of machinevisie-algoritmen uitvoeren om te bepalen hoe u uw I/O-pinnen moet aansturen.
De OpenMV Cam biedt de volgende kenmerken:
- STM32H743IIARM Cortex M7-processor draaiend op 480 MHz met 32 MB SDRAM + 1 MB SRAM en 32 MB extern flashgeheugen + 2 MB intern flashgeheugen. Alle I/O-pinnen leveren 3,3 V en zijn 5 V-tolerant. De processor beschikt over de volgende I/O-interfaces:
- Een volledige snelheid USB (12Mbs) interface naar uw computer. Uw OpenMV Cam verschijnt als een virtuele COM-poort en een USB-flashstation wanneer deze wordt aangesloten.
- Een μSD-kaartslot dat lees- en schrijfsnelheden tot 100 Mbps aankan, waardoor uw OpenMV-camera foto's kan maken en machinevisie-elementen eenvoudig van de μSD-kaart kan halen.
- Een SPI-bus die tot 80 Mbps kan werken, waarmee u eenvoudig beeldgegevens van het systeem kunt streamen naar het LCD Shield, het WiFi Shield of een andere microcontroller.
- Een I2C-bus (tot 1 Mb/s), een CAN-bus (tot 1 Mb/s) en een asynchrone seriële bus (TX/RX, tot 7,5 Mb/s) voor de koppeling met andere microcontrollers en sensoren.
- Een 12-bit ADC en een 12-bit DAC.
- Twee I/O-pinnen voor servo-regeling.
- Onderbrekingen en PWM op alle I/O-pinnen (er zijn 10 I/O-pinnen op het bord).
- En, een RGB-LED en twee hoogvermogen 850nm IR-LED's.
- 32 MB externe 32-bit SDRAM geklokt op 100 MHz voor een bandbreedte van 400 MB/s.
- 32 MB externe quadspi-flashgeheugen geklokt op 100 MHz in 4-bit DDR-modus voor een bandbreedte van 100 MB/s (leessnelheid).
- Een verwijderbaar cameramodulesysteem, met ondersteuning voor 8-bit parallel, waardoor de OpenMV Cam H7 kan communiceren met verschillende sensoren:
- De OpenMV Cam H7 Plus wordt geleverd met eenOV5640De beeldsensor is in staat om beelden van 2592x1944 (5MP) vast te leggen. De meeste eenvoudige algoritmen werken tussen 25-50 FPS bij QVGA-resoluties (320x240) en lager. Uw beeldsensor wordt geleverd met een 2,8mm-lens op een standaard M12-lensvatting. Als u meer gespecialiseerde lenzen wilt gebruiken met uw beeldsensor, kunt u deze eenvoudig zelf aanschaffen en bevestigen. Voor het gebruik van meer gespecialiseerde lenzen kunt u deze gemakkelijk installeren.
- Voor professionele machine vision toepassingen kunt u onze SingTownGlobal shutter cameramodule MT9V034SingTown.
- Voor infrarood thermische beeldvorming machinevisie toepassingen, kunt u onzeFLIR Lepton thermische beeldvormingsmodule.
- 3.7V lithium-ion batterijinterface, u kunt onze SingTown aanschaffen3.7V-1000MAH lithium-ion batterij
Documentatie:https://singtown.com/openmv/
Toepassingen
Momenteel kan de OpenMV-camera het volgende doen (met meer in het vooruitzicht):
- Neuraal Netwerk Object Detectie
- U kunt OpenMV gebruiken om neurale netwerken te trainen voor objectdetectie, waarbij u elk gewenst doelwit kunt trainen om te detecteren. Bijvoorbeeld, verschillende nummers, verschillende vruchten, verschillende markeringen, verschillende onderdelen, of specifieke onregelmatige doelwitten kunnen worden getraind om het nummer, de coördinaten en de objecttype naam van specifieke doelwitten te identificeren.
- U kunt verkeersborden op onze werkelijke wegen detecteren op basis van onze videotutorials, zoals geen claxonneren, geen parkeren, snelheidslimiet 80, enz./learn/50918
- Neurale Netwerk Classificatie
- U kunt OpenMV gebruiken om neurale netwerken te trainen voor objectdetectie, waarbij u elk gewenst doelwit kunt trainen om te detecteren. Bijvoorbeeld, verschillende nummers, verschillende vruchten, verschillende markeringen, verschillende onderdelen, of specifieke onregelmatige doelwitten kunnen worden getraind om het nummer, de coördinaten en de objecttype naam van specifieke doelwitten te identificeren.
- Het kan classificeren of een persoon een masker draagt op basis van onze videotutorial./learn/50872
- TensorFlow Lite voor Microcontrollers
- TensorFlow Lite-ondersteuning stelt u in staat om aangepaste beeldclassificatie- en segmentatiemodellen uit te voeren op de OpenMV Cam. Met TensorFlow Lite kunt u eenvoudig complexe gebieden in de afbeelding classificeren en de 1/0-pinnen besturen op basis van wat u ziet.

- Frame Differencing
- U kunt het frameverschillingsalgoritme op uw OpenMV Cam gebruiken om beweging in een scène te detecteren. Frameverschillen stellen uw OpenMV in staat voor beveiligingstoepassingen ingezet te worden.
- Kleurvolging
- U kunt OpenMV gebruiken om tot 16 kleuren tegelijkertijd in een afbeelding te detecteren (hoewel u nooit meer dan 4 kleuren zult willen vinden), en elke kleur kan een willekeurig aantal verschillende vlekken hebben. OpenMV zal u de locatie, grootte, middelpunt en oriëntatie van elke vlek meedelen. Met behulp van kleurvolging kan uw OpenMV Cam worden geprogrammeerd om de zon te volgen, lijnen te volgen, doelen te volgen en meer. Videodemonstratie:/learn/49993

- Marker Tracking
- U kunt uw OpenMV Cam gebruiken om groepen kleuren te detecteren in plaats van individuele kleuren. Hierdoor kunt u kleurlabels (2 of meer kleurmarkeringen) op objecten plaatsen en OpenMV zal de inhoud van de gelabelde objecten verkrijgen.
- Gezichtsdetectie
- U kunt uw OpenMV Cam gebruiken om gezichten (of elk generiek object) te detecteren. Uw OpenMV camera kan Haar-sjablonen verwerken voor generieke objectdetectie en is voorzien van ingebouwde Frontal Face en Eye Haar-sjablonen voor het detecteren van gezichten en ogen./learn/50013
- Oogvolging
- U kunt oogvolging gebruiken om de richting te detecteren waarin iemand kijkt. U kunt dit gebruiken om robots te besturen. Oogvolging detecteert de positie van de pupil terwijl wordt vastgesteld of er ogen in het beeld aanwezig zijn.
- Persoonsdetectie
- U kunt de ingebouwde persoonsdetector (TensorFlow Lite-model) gebruiken om te detecteren of er personen in beeld zijn.
- Optische Stroom
- U kunt optische stroom gebruiken om beweging voor uw OpenMV-camera te detecteren. Bijvoorbeeld, u kunt optische stroom op een quadcopter toepassen om stabiliteit in de lucht te beheersen.
- QR Code Detectie/Decodering
- U kunt uw OpenMV Cam gebruiken om QR-codes in zijn gezichtsveld te lezen. Met QR-code detectie/decodering kunt u slimme robots in staat stellen om labels in hun omgeving te lezen.
- Data Matrix Detectie/Decodering
- OpenMV Cam kan ook Data Matrix-codes (2D-barcodes) detecteren en decoderen. U kunt onze video hier bekijken.
- Lineaire Barcode Decodering
- OpenMV Cam kan ook 1D-barcodes verwerken. Het kan EAN2, EAN5, EAN8, UPCE, ISBN10, UPCA, EAN13, ISBN13, I25, DATABAR, DARABAR_EXP, CODABAR, CODE39, CODE93 en CODE128 decoderen. Bekijk onze video hier:/learn/50017
- AprilTag Volgen
- Nog beter dan de QR-codes hierboven kan de OpenMV Cam ook AprilTags volgen. AprilTags zijn ultramoderne referentiemarkeringen die rotatie-invariant, schaal-invariant, afschuif-invariant en belichtings-invariant zijn. Bekijk onze video hier:/learn/49590
- Lijn Detectie
- OpenMV Cam kan oneindige lijn detectie snel voltooien terwijl het bijna op volledig frame rate draait. Ook kan het niet-oneindige lijnsegmenten vinden. U kunt onze video hier bekijken:/learn/50009
- Cirkeldetectie
- U kunt eenvoudig OpenMV gebruiken om cirkels in afbeeldingen te detecteren.
- Rechthoekdetectie
- OpenMV kan ook rechthoeken detecteren, gebruikmakend van de vierkantdetectiecode uit de AprilTag-bibliotheek.
- Sjabloonafstemming
- U kunt OpenMV-sjabloonherkenning gebruiken om te detecteren of er sjabloongelijkende afbeeldingen in beeld zijn. Zo kan sjabloonherkenning bijvoorbeeld worden gebruikt om markeringen op printplaten te vinden of bekende cijfers op displays te lezen.
- Beeldopname
- U kunt OpenMV gebruiken om RGB565/grijswaarden BMP/JPG/PPM/PGM afbeeldingen vast te leggen. U kunt rechtstreeks in Python-scripts bepalen hoe afbeeldingen worden vastgelegd. Het belangrijkste is om machinevisie-algoritmen te gebruiken om lijnen te tekenen, tekens te schrijven en vervolgens op te slaan.
- Video-opname
- U kunt de OpenMV-camera gebruiken om RGB565/grijswaarden MJPEG-video's of GIF-afbeeldingen (of RAW-video's) op te nemen. U kunt rechtstreeks in Python-scripts bepalen hoe elk videoframe wordt opgenomen en volledige controle hebben over wanneer de video-opname begint en eindigt. Bovendien kunt u, net als bij het maken van foto's, machine vision-algoritmen gebruiken om lijnen te tekenen, tekens te schrijven en vervolgens op te slaan.
Tot slot kunnen alle bovenstaande functies worden gecombineerd met IO-pinbesturing om samen te werken met uw eigen aangepaste toepassingen om met de echte wereld te interageren.