Schneller Einstieg in 10 Minuten

Video-Tutorial 1 – Einführung in OpenMV: https://singtown.com/learn/688
Video-Tutorial 2 – Unboxing-Einführung: https://singtown.com/learn/49985
Video-Tutorial 3 – Installation und Verwendung von Treibern und IDEs: https://singtown.com/learn/49989/

Software herunterladen

Offizielle Website-Adresse Chinas: http://openmv.cc (klicken Sie auf Software-Download)

Download-Adresse der offiziellen US-Website: https://openmv.io/pages/download

Windows

Klicken Sie nach dem Herunterladen weiterhin auf „Weiter“ und die Installation wird normal abgeschlossen.\

Wenn kein Bildfenster vorhanden ist, kann es von der rechten Seite herausgezogen werden.

Treiber installieren

Schließen Sie OpenMV an den Computer an.\ Unter normalen Umständen wird es so sein Automatisch installiert den Treiber, eine manuelle Installation ist nicht erforderlich. Im Geräte-Manager sehen Sie:

Auf einigen Computern wird der Treiber jedoch möglicherweise nicht automatisch installiert.\ Zu diesem Zeitpunkt erscheint im Geräte-Manager ein Ausrufezeichen, das darauf hinweist, dass der Treiber nicht ordnungsgemäß installiert wurde.

Zu diesem Zeitpunkt müssen Sie es manuell installieren.\ Laden Sie zuerst den Treiber herunter: https://dl.singtown.com/openmv/openmv_windows drivers.zip

Entpacken Sie es auf den Desktop, klicken Sie dann im Gerätemanager mit der rechten Maustaste auf das Gerät und klicken Sie auf Treiber aktualisieren:

Fehler bei der Installation des Windows-Treibers

Wenn Folgendes passiert (was selten vorkommt, handelt es sich um einen Computerfehler):\

Die Installation des OpenMV-Treibers schlägt in 90 % der Fälle fehl, da eine optimierte Version des Betriebssystems und die Verwendung einiger Optimierungssoftware die Ursache dafür sind. Die OpenMV-Treiberlösung ähnelt Arduino.

Dies liegt daran, dass die optimierte Version des Fenstersystems einige ungewöhnliche Treiberinformationen löscht.

Fehlerhinweis:\ https://forum.singtown.com/topic/230

Abschließend noch Vorschläge:

  • Kaufen Sie beim Kauf eines Computers einen Computer mit einem echten Betriebssystem.
  • Aktivieren Sie Windows Update (es ist standardmäßig aktiviert, schalten Sie es nicht aus).
  • Auch wenn Sie ein Raubkopiensystem verwenden, laden Sie bitte die reine Vollversion auf MSDN herunter.
  • Verwenden Sie niemals Ghost zur Installation des Systems! 90 % der Treiberprobleme werden durch Ghost verursacht.

MacOS

Doppelklicken Sie nach dem Herunterladen der IDE-Software auf das Installationsprogramm. Klicken Sie einfach weiter.

Wenn die Meldung Nur App Store und genehmigte Programme können installiert werden angezeigt wird, stellen Sie unter Sicherheit und Datenschutz die Option Beliebige Quelle ein.\

Ubuntu

Ubuntu muss den heruntergeladenen Dateien Berechtigungen erteilen. Doppelklicken Sie dann zur Installation.

Lauf Hallo Welt!

Stellen Sie zunächst sicher, dass die IDE und der Treiber normal installiert sind.

Schließen Sie OpenMV über ein USB-Kabel an den Computer an und ein USB-Flash-Laufwerk wird angezeigt.

Öffnen Sie die OpenMV-IDE.

Konzentrieren Sie sich auf dieses Bild.

  • Klicken Sie auf Verbinden.
  • Klicken Sie dann auf Ausführen.

Das Bild wird im Bildfenster in der oberen rechten Ecke korrekt angezeigt.\ Klicken Sie unten auf „Serieller Terminal“. Daraufhin öffnet sich ein Terminalfenster.\ Gleichzeitig werden die Daten immer im seriellen Terminal gedruckt. Dies ist die Bildrate. Es ist das Ergebnis der Ausführung von print(clock.fps()) in Zeile 17 im Code.

Verfolgen Sie den Ball

Löschen Sie den gesamten Inhalt im Bearbeitungsfeld und ersetzen Sie ihn durch den folgenden Code:

# 色块监测 例子
#
# 这个例子展示了如何通过find_blobs()函数来查找图像中的色块
# 这个例子查找的颜色是深绿色

import sensor, image, time

# 颜色追踪的例子,一定要控制环境的光,保持光线是稳定的。
green_threshold   = (   0,   80,  -70,   -10,   -0,   30)
#设置绿色的阈值,括号里面的数值分别是L A B 的最大值和最小值(minL, maxL, minA,
# maxA, minB, maxB),LAB的值在图像左侧三个坐标图中选取。如果是灰度图,则只需
#设置(min, max)两个数字即可。

sensor.reset() # 初始化摄像头
sensor.set_pixformat(sensor.RGB565) # 格式为 RGB565.
sensor.set_framesize(sensor.QQVGA) # 使用 QQVGA 速度快一些
sensor.skip_frames(time = 2000) # 跳过2000s,使新设置生效,并自动调节白平衡
sensor.set_auto_gain(False) # 关闭自动自动增益。默认开启的,在颜色识别中,一定要关闭白平衡。
sensor.set_auto_whitebal(False)
#关闭白平衡。白平衡是默认开启的,在颜色识别中,一定要关闭白平衡。
clock = time.clock() # 追踪帧率

while(True):
    clock.tick() # Track elapsed milliseconds between snapshots().
    img = sensor.snapshot() # 从感光芯片获得一张图像

    blobs = img.find_blobs([green_threshold])
    #find_blobs(thresholds, invert=False, roi=Auto),thresholds为颜色阈值,
    #是一个元组,需要用括号[ ]括起来。invert=1,反转颜色阈值,invert=False默认
    #不反转。roi设置颜色识别的视野区域,roi是一个元组, roi = (x, y, w, h),代表
    #从左上顶点(x,y)开始的宽为w高为h的矩形区域,roi不设置的话默认为整个图像视野。
    #这个函数返回一个列表,[0]代表识别到的目标颜色区域左上顶点的x坐标,[1]代表
    #左上顶点y坐标,[2]代表目标区域的宽,[3]代表目标区域的高,[4]代表目标
    #区域像素点的个数,[5]代表目标区域的中心点x坐标,[6]代表目标区域中心点y坐标,
    #[7]代表目标颜色区域的旋转角度(是弧度值,浮点型,列表其他元素是整型),
    #[8]代表与此目标区域交叉的目标个数,[9]代表颜色的编号(它可以用来分辨这个
    #区域是用哪个颜色阈值threshold识别出来的)。
    if blobs:
    #如果找到了目标颜色
        for b in blobs:
        #迭代找到的目标颜色区域
            # Draw a rect around the blob.
            img.draw_rectangle(b[0:4]) # rect
            #用矩形标记出目标颜色区域
            img.draw_cross(b[5], b[6]) # cx, cy
            #在目标颜色区域的中心画十字形标记

    print(clock.fps()) # 注意: 你的OpenMV连到电脑后帧率大概为原来的一半
    #如果断开电脑,帧率会增加

Nach dem Ausführen des Programms

Dieses Programm sucht nach Farbfeldern basierend auf dem Schwellenwert für Grün_threshold.

Schwellenwert ändern

Wie ändern Sie diesen Schwellenwert selbst? Woher kennen wir die Farbschwelle unseres Objekts?

  • Suchen Sie bei digitalen Listenelementen zunächst die Zielfarbe in der Kamera und klicken Sie mit der linken Maustaste auf die Zielfarbe im Framebuffer, um ein Rechteck einzukreisen
  • Wählen Sie im Koordinatendiagramm unter dem Framebuffer den LAB-Farbraum aus.

  • Die drei Koordinatendiagramme stellen jeweils die LAB-Werte der Farben im eingekreisten rechteckigen Bereich dar. Wählen Sie die Maximal- und Minimalwerte der drei Koordinatendiagramme aus, nämlich (0, 60, -70, -10, -0, 30)

Dateisystem

Das Dateisystem ist ein besonders hervorragendes Feature von OpenMV (oder MicroPython). Was ist ein Dateisystem? Vereinfacht gesagt sind verschiedene Ordner und Dateien in einer Baumstruktur angeordnet. Einfach ausgedrückt handelt es sich um Ihren USB-Stick. Und Sie können Pfade im Code verwenden, um Dateien zu lesen, Dateien zu erstellen usw.

Offline ausführen

Video-Tutorial-Anhang 2 – Offline-Betrieb: https://singtown.com/video

Hier liegt also das Problem? Wozu dient das OpenMV-unterstützende Dateisystem?

Die Antwort ist: ganz praktisch!\ OpenMV virtualisiert den integrierten Flash in ein Dateisystem. Wenn Sie OpenMV in Ihren Computer einfügen, öffnet der Computer ein USB-Flash-Laufwerk! Im Inneren befindet sich das OpenMV-Dateisystem. Wenn Sie Firmware brennen möchten, kopieren Sie die Skriptdatei direkt in die main.py dieser „U-Disk“. Bei jedem Einschalten führt OpenMV automatisch die darin enthaltene main.py aus und erreicht so einen Offline-Betrieb.

Ein-Klick-Download

Klicken Sie in der Symbolleiste auf Das geöffnete Skript in OpenMV Cam speichern (als main.py), und die IDE speichert die aktuelle Datei automatisch in main.py, was sehr praktisch ist.

angetrieben von

OpenMV verfügt über zwei Stromeingänge:

  • VIN(manchmal auch als VCC bezeichnet)
  • USB-Eingang

Der VIN-Eingang beträgt 3,6 V ~ 5 V, 5 V werden empfohlen.\ USB und VIN können gleichzeitig mit Strom versorgt werden.

OpenMV hat einen Leistungsausgang:

  • 3,3 V, diese Spannung wird vom OpenMV-Spannungsregler ausgegeben und zur Stromversorgung anderer Sensoren verwendet. Hinweis: Versorgen Sie das Gerät nicht direkt mit 3,3 V. Ohne den Schutz des internen Chips kann es leicht zu einem Durchbrennen kommen.

SD-Karte

Was passiert also, wenn mein Code 100.000 Zeilen umfasst und der eingebaute Flash nicht ausreicht? Was soll ich tun, wenn ich Bilder speichern möchte?

Die Antwort lautet: Sie können eine SD-Karte verwenden!

Wie benutzt man eine SD-Karte? Die SD-Karte ist auch ein Dateisystem. Wenn die SD-Karte eingelegt wird, ersetzt das Dateisystem der SD-Karte automatisch das integrierte Flash-Dateisystem. Es wird MAIN.py auf der SD-Karte ausführen. Ist das nicht sehr intuitiv und praktisch? Die SD-Karte unterstützt eine maximale Kapazität von 32G.

results matching ""

    No results matching ""