- 3D-Druck Einstieg und Tipps         
Ergebnis 1 bis 4 von 4

Thema: Eintieg in die on the fly Video Analyse 8-[

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    04.05.2009
    Beiträge
    8

    Eintieg in die on the fly Video Analyse 8-[

    Anzeige

    Praxistest und DIY Projekte
    Hallo Zusammen,

    ich benötige dringend Hilfe zu einem Projekt von mir. Da ich bisher keine Beruhrungspunkte mit Bildanalyse und Bilderkennung gehabt habe, fehlen mir leider auch dei Begrifflichkeiten um hier im Forum passende Informationen zu finden. Vielleicht helft Ihr mir?

    Folgende Aufgabenstellung:
    Mit einem Betriebssystem der passenden Wahl (Mac, Winxp, Ubuntu) möchte ich per günstiger USB Cam ein Video oder wenigstens alle 1-3sec ein Bild einfangen, in 9x9 = 81 Grauwertpixel umrechnen udn dessen einzelne Werte in einem passenden Format (i2C) an eine SD84 Servocontrollerunit weiterleiten. Hier soll die SD84 an 81 Servos den Helligkeitswert durch eine passende Position des jeweiligen Servos verstellen. Also zB sehr hell = maximaler Servoanschlag in einer Richtung und umgekehrt.

    Jetzt habe ich das Gefühl, leider nur sowas wie die Teure CMUcam3 mit der SD 84 zu kombinieren, ist mir aber etwas mit Kanonen auf Spatzen und so .

    Es muss doch eine einfache Lösung für so eine Bilderfassung mittels USB Cam geben, da ich ja auch nicht wirklich Bilderkennung machen will sondern eben nur ne Auflösung reduzieren und Grauwerte. Vielleicht gibts da aja auch passende Begriffe für, aber ich kenne Sie nicht.

    Habt Ihr da eine Idee?? Ich finde beim besten Willen nix im Netz.

    Schönen Gruß aus Dortmund

  2. #2
    Erfahrener Benutzer Robotik Einstein Avatar von vohopri
    Registriert seit
    11.09.2004
    Ort
    südlich der Alpen
    Beiträge
    1.708
    Hallo Looy,

    verstehe ich das richtig, dass das auf PC stattfinden soll? Unter xp hab ich schon einiges an videobildern on the fly verarbeitet. Die Bilder kamen dabei von einer USB Kamera. Das geht recht komfortabel.

    Suchbegriffe: Windows API, msdn library, capCaptureSequenceNoFile (funktionsname), callback funktion.

    Auch in meinem Projekt mit dem autonomen Fahrzeug steht was drin dazu.

    IDE starten und programmieren, oder wobei genau suchst du noch nach einer Lösung?

    grüsse,
    Hannes

  3. #3
    Benutzer Stammmitglied
    Registriert seit
    07.03.2008
    Ort
    Nürnberg
    Alter
    41
    Beiträge
    51
    Hi!
    Mit Matlab ist sowas möglich. Ich denke da findet man auch so einige Beispiele im Internet.
    Wenn du Student bist dürftest du davon ja bereits gehört haben.
    Großartige Programmierkenntnisse sind dafür jetzt nicht direkt nötig.
    Dein einziges Problem dürfte wohl sein an eine Matlab-Version ranzukommen (am besten nen Studenten nach ner "Studentenversion" fragen ) und dann ggf. das durcharbeiten der Tutorials mit dem von dir gewünschten Thema.
    Das hat natürlich auch gewisse Grenzen, weis ja nicht wie schnell dein PC ist und wieviele Frames du pro Sekunde willst.

    Das übertragen mittels I2C könnte man mit nem passenden Wandler oder einer Schnittstellenkarte machen.
    z.B. USB -> RS232 -> RS232-zu-TTL-Logik-Wandler -> platine mit Atmega der den I2C-Master darstellt.

    Serielle Schnittstellen kann Matlab auch ansteuern.

    Aber frag mich nicht wie das geht, hab mit Matlab bisher nur son kram wie S-Parameterauswertung von nem Analogen Multiplexer gemacht.

    Gruß

  4. #4
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    11.08.2005
    Beiträge
    178
    @looy

    hier sind verschiedene möglichkeiten angeführt, unter anderem auch das direkte ansprechen über win api, wie vohopri schon erwähnt hat:
    http://forums.ni.com/ni/board/messag...read.id=284702
    ich selbst verwende labview nicht zur bildverarbeitung, sondern benutze (experimentiere mit) MRDS / voltsiq, openCV und eigene(r) software.

    für dein recht simples vorhaben würde ich das erstellen einer library empfehlen welche mittels dem von vohopri genannten makro die bilder von der kamera holt, umwandelt und im gewünschten format public zur verfügung stellt (via getter, callback, o.ä.). diese library kannst du dann in labview einbinden, oder aber auch in eigene software, robotic frameworks, matlab, etc. die ausgabedatentypen dieser library sollten von labview, bzw der aufrufenden software, natürlich unterstützt werden. labview kennt zb die datentyp 'Picture' und 'Array'. eventuell ist es auch sinnvoll wenn diese library auch bzw stattdessen direkt die zu stellenden servopositionen liefert.
    da du beim sd84 AFAIR die kanäle zuerst auf servofunktion initialisieren musst (ggf auch speed, u.A.) würde ich auch die ansteuerung des sd84 in textuellen programmiersprache implementieren, da mir das mit labview viel zu umständlich und unübersichtlich wäre. eben so wie vohopri das vorgeschlagen hat. falls du lieber grafisch zusammenklicken willst, halte dich an meinen link weiter oben.


    lg
    "A robot with guns for arms shooting a plane made out of guns that fires guns" - Nelson Muntz

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

12V Akku bauen