1. Snabbstart

OpenMV Cam

Välkommen – vi är glada att få presentera OpenMV Cam för dig, en liten, programmerbar kamera som kör Python direkt på enheten. Skriv några rader kod, tryck på kör, och kameran börjar se: detektera ansikten, spåra färger, läsa taggar, följa linjer – ingen dator i loopen och ingen tung uppsättning att ta sig igenom först.

Den här snabbstartsguiden får dig igång på några minuter: du installerar IDE:n, ansluter din kamera och kör en live-ansiktsdetektor som ditt allra första skript.

1.1. Installera OpenMV IDE

OpenMV IDE är skrivbordsprogrammet för att skriva skript, köra dem på kameran och se resultaten live. Ladda ner det för Windows, macOS eller Linux här och installera det sedan:

  • Windows – kör installationsprogrammet. Det installerar IDE:n tillsammans med kamerans USB-drivrutiner; följ standardanvisningarna.

  • macOS – öppna .dmg-filen och dra OpenMV IDE till mappen Program.

  • Linux – kör chmod +x openmv-ide-*.run && ./openmv-ide-*.run och följ sedan installationsprogrammets anvisningar.

Anteckning

För automatiserade eller huvudlösa uppsättningar kan installationsprogrammen även köras från kommandoraden med flaggor för tyst installation. Se openmv-ide README för de exakta kommandona per plattform.

1.2. Anslut din kamera

Koppla in kameran i din dator med en USB-datakabel. Vänta tills dess enhet monteras och den blå LED:en börjar blinka, och klicka sedan på anslutningsknappen – kontaktsymbolen längst ner i verktygsfältet.

Första gången du ansluter jämför IDE:n kamerans fasta programvara med den version som den levereras med och erbjuder sig att uppdatera den. Acceptera uppmaningen för att flasha den senaste fasta programvaran; det tar några sekunder, och IDE:n återansluter på egen hand när det är klart.

Om kameran inte dyker upp, eller om du vill ha detaljerna kring vad anslutning och uppdatering gör, se Ansluta en kamera och Firmware-uppdateringar och återställning.

Anteckning

Fastnat på något? Skriv på OpenMV-forumen – communityt och OpenMV-teamet hjälper gärna till.

1.3. Kör ditt första skript

Din OpenMV Cam levereras med Googles MediaPipe-ansiktsdetektor BlazeFace i flashminnet. Klistra in det här skriptet i editorn:

import csi
import time
import ml
from ml.postprocessing.mediapipe import BlazeFace

# Set up the camera sensor.
csi0 = csi.CSI()
csi0.reset()                # Initialize the sensor to a known state.
csi0.pixformat(csi.RGB565)  # Capture 16-bit colour.
csi0.framesize(csi.QVGA)    # Set a small, fast frame size.

# BlazeFace was trained on square images, so crop to a centred
# square the size of the sensor's height.
side = csi0.height()
csi0.window((side, side))

# Load the built-in face detector. The post-processor turns the
# network's raw output into a list of detections; threshold sets how
# confident a detection must be to count.
model = ml.Model("/rom/blazeface_front_128.tflite",
                 postprocess=BlazeFace(threshold=0.4))

clock = time.clock()        # For measuring the frame rate.
while True:
    clock.tick()
    img = csi0.snapshot()   # Capture one frame.

    # predict() runs the network and returns one
    # ((x, y, w, h), score, keypoints) tuple per detected face.
    for rect, score, keypoints in model.predict([img]):
        # Draw the box around the face...
        ml.utils.draw_predictions(img, [rect], ("face",),
                                  ((0, 0, 255),), format=None)
        # ...and mark the six landmarks: eyes, nose, mouth, ears.
        ml.utils.draw_keypoints(img, keypoints, color=(255, 0, 0))

    print(clock.fps(), "fps")

Tryck på den gröna Kör-knappen och rikta kameran mot ett ansikte. Bildbuffertvisaren ritar en ruta runt varje ansikte och markerar ögon, näsa, mun och öron, medan serieterminalen skriver ut bildrutehastigheten.

Det här skriptet – och ett för nästan varje funktion kameran har – är också inbyggt i IDE:n under File → Examples, filtrerat efter ditt anslutna kort. Öppna ett, tryck på kör och börja utforska vad kameran kan göra.

1.4. Vart man går härnäst

Var du hoppar in beror på vad du redan kan. Handledningen har tre startpunkter – ny på Python, ny på hårdvara eller redo för maskinseende – så välj den som passar. Referenserna och IDE-guiden finns här närhelst du behöver dem.