PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : ausführliches openCV Tutorial mit C/C++ für den Pi?



HaWe
17.02.2017, 08:13
hallo,
kennt wer ein ausführliches openCV Tutorial mit C/C++ für den Pi?
Alles, was man so findet, ist über Python, oder was man über C/C++ findet ist überholt und längst nicht mehr aktuell und darüberhinaus extremst unverständlich. Ganz aktuell las ich auch im Raspi.org Forum wieder mal ein Topic von einem anderen user, der ebenfalls absolut kein Land für seine C-Projekte sieht.

So eine ganz einfache schrittchenweise Einführung wäre also nötig, beginnend mit den allereinfachsten Dingen:
Webcam anschließen
Cam- und Video-Treiber installieren
openCV installieren (alles was man wirklich braucht)
Cam Video in einem kleinem Fenster ausführen
Screen shot erstellen und speichern
und dann immer so weiter bis:
Farben, Formen und Muster im Video erkennen.

Ich fand jetzt aktuell eine Anwendung zum Rubick's Cube-Farben-erkennen, ntl in Python, aber so etwas wäre auch mein Ziel für C/C++, da möchte ich gern hinkommen.
http://programmablebrick.blogspot.de/2017/02/rubiks-cube-tracker-using-opencv.html

wenn man für so etwas eine gute Erklärung und Anleitung hätte, das wäre schon wirklich gut, und wenn das läuft, dann kann man ja weitersehen.

shedepe
17.02.2017, 09:11
Du kannst auf dem Raspberry Pi die ganz normalen Tutorials für OpenCv nutzen (http://docs.opencv.org/2.4/doc/tutorials/tutorials.html bzw. http://docs.opencv.org/3.2.0/ - Achtung Versionsunterschied).
Für die Kamera brauchst du unter Linux in der Regel keinen extra Treiber.

Einzig die Installation bedarf in der Regel eines Extratutorials. Meiner Ansicht nach sollte das hier passen: https://tutorials-raspberrypi.de/opencv-auf-dem-raspberry-pi-installieren/

Mein Tipp wäre aber: Probier es zuerst auf deinem Rechner aus. Ist zum entwickeln wesentlich angenehmer.

HaWe
17.02.2017, 10:23
danke für die Tipps!
das, was du verlinkt hast, habe ich schon entdeckt
http://docs.opencv.org/2.4/doc/tutorials/core/table_of_content_core/table_of_content_core.html#table-of-content-core
http://docs.opencv.org/2.4/doc/tutorials/core/basic_geometric_drawing/basic_geometric_drawing.html#drawing-1
u.a.m.

das ist aber schon so umfangreich und hoch-speziell, das ist schon mehr was zum Nachschlagen als zum "geführten praktischen Anlernen für komplette Anfänger". Wenn man da alles durcharbeiten muss, das dauert ja Jahrzehnte. Aber alles braucht man sicher gar nicht so haarklein, wenn man eigentlich einfach nur mal schnell loslegen will.

Ich finde, da müsste man für ein Tutorial deutlich ein paar Gänge runterschalten und mit deutlich weniger Anspruch an Vollständigkeit ein paar einfachere, leichter nachzuvollziehende praktische Dinge zeigen, eher Anwendungs-bezogen, nicht so sehr allgemein, systematisch und abstrakt.

Wenn ich z.B. anfangen wollte, eine Cube Face Erkennung zu programmieren, wüsste ich in diesen docs von openCV gar nicht, wo ich anfangen soll und wie es weitergeht - alles mögliche lesen, was es gibt, will ich ja gar nicht.

Auch nutze ich kein C auf meinem Windows PC, und Eclipse ist mir ein Greuel - es ist daher nur für gcc/g++ auf dem Pi, mit Geany oder code::blocks,
lokal compiliert, ohne Cross-Compiler, und entsprechend einfach und "downsized" müsste die Sache dargestellt werden. Eben openCV für Noobs und Dummies.

hirnfrei
06.01.2018, 15:04
Mahlzeit HaWe!

Das hier ist ja schon etwas älter, aber falls du noch Bedarf hast, ich arbeite auch gerade mit OpenCV in Verbindung mit MLP-Netzen und suche selbst nach Tutorials dafür. Ich habe aber auch schon ein bisschen Erfahrung mit OpenCV. Momentan benutze ich es, um ein kleines Spiel für das NN zu bauen. Also wenn es dir etwas nützt, dann kann ich dir ein paar Grundlagen zu OpenCV vermitteln. Wie man ein Bild erstellt, es anzeigen lässt, wie man verschiedene Dinge zeichnet usw. Wäre vielleicht ein Anfang?

HaWe
06.01.2018, 15:29
Mahlzeit HaWe!

Das hier ist ja schon etwas älter, aber falls du noch Bedarf hast, ich arbeite auch gerade mit OpenCV in Verbindung mit MLP-Netzen und suche selbst nach Tutorials dafür. Ich habe aber auch schon ein bisschen Erfahrung mit OpenCV. Momentan benutze ich es, um ein kleines Spiel für das NN zu bauen. Also wenn es dir etwas nützt, dann kann ich dir ein paar Grundlagen zu OpenCV vermitteln. Wie man ein Bild erstellt, es anzeigen lässt, wie man verschiedene Dinge zeichnet usw. Wäre vielleicht ein Anfang?

hallo, danke für dein Angebot, sehr gerne!
Ich habe auf der Suche danach auch schon selber ein paar Sachen gefunden, die ich hier notiert habe: http://www.mindstormsforum.de/viewtopic.php?f=78&p=70117#p70116

Leider ist das alles extrem kompliziert und mühsam, außerdem ist die Farberkennung hundsmiserabel bei wechselnden Lichtverhältnissen, und von daher habe ich es auch selber bisher nicht mehr weiter verfolgt.
Was man bräuchte, wäre eine konfigurierbare Mustererkennung wie bei Vision Command für Lego RCX und wie bei der PixyCam, mit automatischem Weißabgleich. Auch eine Formenerkennung (Pfeile, Rechtecke, Dreiecke, Staßenschilder, Gesichter) wäre wichtig. Gemeldet werden müssten dann die erkannten Objekte ähnlich wie bei der PixyCam per UART stream, nach Größe, Farbe, Form und Ort (Zentrum, Flächenkoordinaten) sortiert.

RoboTrader
06.01.2018, 18:09
Ja, ich habe am wenigsten Ahnung davon, aber ich bin vor etwa einem Jahr auf diesen Ted Talk (https://www.ted.com/talks/joseph_redmon_how_a_computer_learns_to_recognize_o bjects_instantly?language=de) gestossen.

Fand es extrem interessant und als ich den Pi vor ein paar Wochen bekam, erinnerte ich mich daran und schaute nach der Library (https://pjreddie.com/darknet/yolo/).
Finde es spannend und ich denke, ich werde YOLO nutzen, um einen Einstieg zu finden. Liest sich zumindest so, als ob da schnell ganz gute Ergebnisse herauskommen.

Falls ihr doch noch auf ein gutes Tutorial stosst, gerne wieder schreiben. Interessiert mich auch. :D

HaWe
06.01.2018, 18:13
ist das YOLO (witziger Name!) image processing auch offline auf dem Pi möglich, mit Programmier-Schnittstelle zu gcc?

RoboTrader
06.01.2018, 18:36
Auch der TED Talk lohnt sich.
Das Paper findet man hier (https://github.com/pjreddie/yolo-paper).

Ich weiss nicht, ob es die Netzwerk-Anbindung immer benötigt. Denke schon.
Aber wo willst du den Cube-Roboter starten, wenn es dort kein WLAN gibt?!?

HaWe
06.01.2018, 19:15
Auch der TED Talk lohnt sich.
Das Paper findet man hier (https://github.com/pjreddie/yolo-paper).

Ich weiss nicht, ob es die Netzwerk-Anbindung immer benötigt. Denke schon.
Aber wo willst du den Cube-Roboter starten, wenn es dort kein WLAN gibt?!?

was meinst du mit " Cube-Roboter" ?

RoboTrader
06.01.2018, 19:39
was meinst du mit " Cube-Roboter" ?

Rubick's Cube!

HaWe
06.01.2018, 20:08
Rubick's Cube!

nein, ich brauche es zum Navigieren und Erkennen von Objekten für meinen Robobutler

33157

hirnfrei
08.01.2018, 06:18
http://www.it-cow.de/post/Objekterkennung-in-Bildern-mittels-OpenCV-22.aspx

Hast du das schon gesehen? Was müsste doch in etwas sein, was du brauchst, oder?

Objekterkennung steht bei mir noch nicht so weit oben auf meinem Plan. Ich arbeite mich gerade bei OpenCV in MLP ein, was auch schon halbwegs funktioniert. Mein eigens neurales Netz habe ich erst einmal auf Eis gelegt. Irgendwie will die Backpropergation nicht so wirklich und OpenCV bietet da, nach dem was man so hört, äusserst gute Lösungen für an. Auch mit CUDA und so.

Ich habe mal mittels Tutorials Gesichtserkennung hinbekommen mit OpenCV. War eigentlich sehr einfach, schnell und hat echt gut funktioniert!

Was ich im Moment mit OpenCV eben schon gelöst habe, ich ein kleines Spiel, in welchem ich das MLP durch reinforcement learning trainieren will. Erst danach baue ich einen Bot. Der soll zwar auch später eine Kamera bekommen, aber so weit bin ich noch nicht. Vielleicht kann ich dir aber trotzdem helfen, wenn es grundlegend um OpenCV geht.

HaWe
08.01.2018, 10:39
http://www.it-cow.de/post/Objekterkennung-in-Bildern-mittels-OpenCV-22.aspx

Hast du das schon gesehen? Was müsste doch in etwas sein, was du brauchst, oder?

Objekterkennung steht bei mir noch nicht so weit oben auf meinem Plan. Ich arbeite mich gerade bei OpenCV in MLP ein, was auch schon halbwegs funktioniert. Mein eigens neurales Netz habe ich erst einmal auf Eis gelegt. Irgendwie will die Backpropergation nicht so wirklich und OpenCV bietet da, nach dem was man so hört, äusserst gute Lösungen für an. Auch mit CUDA und so.

Ich habe mal mittels Tutorials Gesichtserkennung hinbekommen mit OpenCV. War eigentlich sehr einfach, schnell und hat echt gut funktioniert!

Was ich im Moment mit OpenCV eben schon gelöst habe, ich ein kleines Spiel, in welchem ich das MLP durch reinforcement learning trainieren will. Erst danach baue ich einen Bot. Der soll zwar auch später eine Kamera bekommen, aber so weit bin ich noch nicht. Vielleicht kann ich dir aber trotzdem helfen, wenn es grundlegend um OpenCV geht.

hallo,
jein...: für Videos, nicht Bilder, und farbig, samt Methoden, um Objekte anlernen zu können, als fertiges Bilderkennungsmodul, denn die nackten openCV-Funktionen haben sich ja bisher als viel zu kompliziert und zu aufwändig erwiesen.

Eher als High-Level-API, z.B. so, wie ich in der PixyCam-Software Farben und 2-3-farbige Labels anlernen kann, aber für den Raspi jetzt auch Formen und Muster - vom Ergebnis her wie in dem YOLO von Robotrader, aber offline verfügbar und mit selber trainierbaren Objekten:
https://github.com/pjreddie/yolo-paper/blob/master/system.pdf
oder von der Konzeption her vergleichbar hiermit (PixyCam mit PixyMon + Arduino oder Python):
http://cmucam.org/projects/cmucam5/wiki/Hooking_up_Pixy_to_a_Microcontroller_(like_an_Ardu ino)
http://cmucam.org/projects/cmucam5/wiki/Latest_release
oder hiermit (PiStorms Cam Software):
http://builderdude35.com/2016/08/03/tutorial-how-to-do-image-recognition-with-pistorms-and-pi-camera/

: bis hierhin müsste das Programm samt API bereits als Bilderkennungsmodul fertig verfügbar sein, so wie für Pixy, PiStorms oder NXTCam:
es streamt z.B. das, was es erkennt, automatisch über die serielle Schnittstelle wie auch bei den PixyCam-Examples über die Pixy() class;

Jetzt erst kommt das eigene Programm, wo man per switch/case auf die erkannten und vom Bilderkennungsmodul seriell gestreamten Objekte (Farben, Formen, Schilder) je nach Bild-Position reagieren kann (nur auflisten oder auch hinfahren, wegfahren, umfahren, zentrieren, greifen,...) :

z.B.:

https://www.youtube.com/watch?v=QYqKVaS_h3E
(ab 1:00 !)


edit:
Pixy ist leider doch keine Lösung, die Erkennungsalgorithmen und die Cam-CCD-Farbsensoren sind einfach zu schlecht;
vgl.: http://www.mindstormsforum.de/viewtopic.php?f=78&p=71572#p71572

hirnfrei
08.01.2018, 12:10
Na ja, Videos sind ja prinzipiell auch nur eine Aneinanderreihung von Bildern. Von daher müsste das verwendbar sein.

Ich glaube aber, dass du bei OpenCV da schlechte Karten haben wirst, eine Funktion zu finden, welche dir sämtliche Arbeit abnimmt. Zumindest wäre mir in der Richtung nichts bekannt :(.

HaWe
08.01.2018, 13:22
Na ja, Videos sind ja prinzipiell auch nur eine Aneinanderreihung von Bildern. Von daher müsste das verwendbar sein.

Ich glaube aber, dass du bei OpenCV da schlechte Karten haben wirst, eine Funktion zu finden, welche dir sämtliche Arbeit abnimmt. Zumindest wäre mir in der Richtung nichts bekannt :(.

ja, ich denke auch, dass openCV höchstens das Werkzeug sein kann, mit dem jemand anderes so etwas schreibt. Gesucht wird tatsächlich eher etwas in der Art der oben verlinkten fertigen Bildauswertungsprogramme, wie sie für andere Plattformen und andere Programmiersprachen (Pixy, PiStorms, Arduino, Lego Software, Python) bereits verfügbar sind.

hirnfrei
12.01.2018, 11:29
Bist du dir sicher, dass du in C/C++ richtig aufgehoben bist? Du sagst, OpenCV kann nur ein Werkzeug sein. Das ist mit Sicherheit richtig. Aber darum geht es im Prinzip ja auch. Es bietet dir eine Vielzahl an Möglichkeiten, die du in deinem Programm nutzen kannst. Das heisst aber nicht, dass dir die Arbeit abgenommen wird. Beim Beispiel ObenCV wird dir schon einiges abgenommen. Es ist ein relativ simpler Weg, damit ein Programm zu schreiben, welches die Bilder einer Webcam abgreifen kann. Da bleibt dir also schon alles erspart, was du bei deinem Weg dorthin brauchst. Ich habe mal, noch zu Zeiten des Amigas, ein Programm geschrieben, mit welchem ich meine Digitalkamera auslesen konnte. Das war ganz schön aufwendig. Erst muss die Kommunikation geöffnet werden, was schon einiges an Code bedurfte, dann mussten die richtigen Befehle an die Kamera geschickt werden, natürlich im entsprechenden Format, ich musste die Rückgabe der Kamera abfangen, die Rohdaten zusammenfügen und dann noch ins jpeg Format speichern. Bei einer Webcam ist es jetzt nicht ganz so dramatisch. Aber auch da müsstest du normalerweise erst den USB-Port öffnen, die Daten empfangen usw. Das wird dir schon alles abgenommen.

Ich glaube nicht, dass du in C/C++ viele Out-Of-The-Box APIs finden wirst, denn meiner Erfahrung nach wollen das Entwickler gar nicht. Man nehme nur mal einen Programmierer, der sich gänzlich Ansi-C verschrieben hat. Der kritisiert bereits C++, weil dort vieles vereinfacht wurde. String zum Beispiel ist so ein Kritikpunkt, da man null Kontrolle über die Nutzung des Speichers hat. Macht man es so, wie C es "gerne" hat, dann setzt man einen Pointer auf ein char, reserviert dafür Speicher, kopiert etwas in diesen Speicher und gibt es, nach Benutzung, wieder frei. Man weiss also genau, wann welche Variable wie viel Speicher belegt, da man sich um alles selbst kümmern muss. Das macht Anwendungen effizienter, wenn man sich an alle Regeln hält, aber der Programmieraufwand wächst natürlich stark. Da bietet C++ schon viel Abhilfe.

Ich habe den Verdacht, dass du eher bei C#/Mono auf deine Kosten kommst. Oder eben Python. Wie du selbst sagst, dort gibt es das alles möglichst simpel.

HaWe
12.01.2018, 12:19
Bist du dir sicher, dass du in C/C++ richtig aufgehoben bist? Du sagst, OpenCV kann nur ein Werkzeug sein. Das ist mit Sicherheit richtig. Aber darum geht es im Prinzip ja auch. Es bietet dir eine Vielzahl an Möglichkeiten, die du in deinem Programm nutzen kannst. Das heisst aber nicht, dass dir die Arbeit abgenommen wird. Beim Beispiel ObenCV wird dir schon einiges abgenommen. Es ist ein relativ simpler Weg, damit ein Programm zu schreiben, welches die Bilder einer Webcam abgreifen kann. Da bleibt dir also schon alles erspart, was du bei deinem Weg dorthin brauchst. Ich habe mal, noch zu Zeiten des Amigas, ein Programm geschrieben, mit welchem ich meine Digitalkamera auslesen konnte. Das war ganz schön aufwendig. Erst muss die Kommunikation geöffnet werden, was schon einiges an Code bedurfte, dann mussten die richtigen Befehle an die Kamera geschickt werden, natürlich im entsprechenden Format, ich musste die Rückgabe der Kamera abfangen, die Rohdaten zusammenfügen und dann noch ins jpeg Format speichern. Bei einer Webcam ist es jetzt nicht ganz so dramatisch. Aber auch da müsstest du normalerweise erst den USB-Port öffnen, die Daten empfangen usw. Das wird dir schon alles abgenommen.

Ich glaube nicht, dass du in C/C++ viele Out-Of-The-Box APIs finden wirst, denn meiner Erfahrung nach wollen das Entwickler gar nicht. Man nehme nur mal einen Programmierer, der sich gänzlich Ansi-C verschrieben hat. Der kritisiert bereits C++, weil dort vieles vereinfacht wurde. String zum Beispiel ist so ein Kritikpunkt, da man null Kontrolle über die Nutzung des Speichers hat. Macht man es so, wie C es "gerne" hat, dann setzt man einen Pointer auf ein char, reserviert dafür Speicher, kopiert etwas in diesen Speicher und gibt es, nach Benutzung, wieder frei. Man weiss also genau, wann welche Variable wie viel Speicher belegt, da man sich um alles selbst kümmern muss. Das macht Anwendungen effizienter, wenn man sich an alle Regeln hält, aber der Programmieraufwand wächst natürlich stark. Da bietet C++ schon viel Abhilfe.

Ich habe den Verdacht, dass du eher bei C#/Mono auf deine Kosten kommst. Oder eben Python. Wie du selbst sagst, dort gibt es das alles möglichst simpel.
ja, da hast du möglicherweise recht. Dennoch, was in Python an Libs/Modulen möglich und verfügbar ist, sollte IMO auch in C/C++ möglich sein. Python ist allerdings keine Option, da dreht sich mir (wie bei Java) bereits beim Hingucken der Magen um, und mit C# ist es nicht viel besser, wenn ich an meine ersten Gehversuche mit Monster-IDEs wie Visual Studio denke... ;)

Andererseits ist auch Arduino für gcc C++ geschrieben und stellt einfach zu benutzende "high level" C++ Libs zur Verfügung, u.a. auch für Pixy, also warum nicht auch ähnliches für den Pi und USB cams?

edit:
Pixy an sich ist übrigens leider keine Lösung, die Erkennungsalgorithmen und die Cam-CCD-Farbsensoren sind einfach zu schlecht;
vgl.: http://www.mindstormsforum.de/viewto...p=71572#p71572

hirnfrei
12.01.2018, 13:42
Prinzipiell geht das schon. Nur eben, C/C++ soll ja prinzipiell auch nur ein Werkzeug sein. Du kriegst die Werkzeuge zur Hand und baust dir daraus das, was du haben willst. Man könnte es mit Modellbausätzen vergleichen. Assembler ist die härteste Variante. Da kriegst du im Baukasten nur einen Plan, alles andere musst du selbst erledigen. C/C++, da kriegst du dann die ganzen Einzelteile dazu, in Python usw. ist das halbe Modell schon zusammengebaut. Ist wohl die Frage, wie man es haben will.

Es gibt zwei Möglichkeiten, wie du an das kommst, was du haben willst.

Variante 1:

Du klemmst dich soweit hinter C/C++, bis du dir aus den Werkzeugen deine eigene API zusammen bauen kannst (So mache ich es in der Regel)

Variante 2:

Du suchst jemand, der das für dich übernimmt.

Denn ich glaube kaum, dass man OpenCV dazu bewegen wird, dass in Eigenregie zu machen. Sie können es, Python zeigt es ja. Aber in C/C++ ist es meines Erachtens nach eben in der breiten Mehrheit nicht erwünscht.

Ich muss aber dazu sagen, der Magen dreht sich bei mir in vielerlei Hinsicht um. Python ist jetzt auch keine Sprache, die ich unbedingt benutzen möchte. Lua ist da noch brutaler, wie ich finde. Da liegt es daran, den inneren Schweinehund zu überwinden. Anfangs ist es ein Krampf, irgendwann gewöhnt man sich dran, auch wenn man es dann immer noch nicht mag. Vielleicht wäre es für dich mal einen Versuch Wert. Ich denke, wenn du mit Python eine Zwekehe eingehen würdest, könntest du viele Probleme umgehen, die letzten Endes überhaupt nichts mit deinem eigentlichen Projekt zu tun haben. Ich weiss, wie frustrierend das sein kann. Ich hatte mir so ein schönes Minispiel mit OpenCV gebastelt, wo ich dann mein neurales Netzwerk drauf loslassen wollte und musste dann feststellen, OpenCV ist da nicht flexibel genug. Das zeichnet das Fenster immer nur mittels waitkey(); neu. Ich hätte also jeden einzelnen Schritt per Tastatur quasi quittieren müssen. So ein neurales Netzwerk lernen zu lassen, wäre äusserst mühsam. Also habe ich einige Zeit damit verbracht, bis ich das mit OpenCV erstellte Bild in wxWidgets darstellen konnte und dann noch eine Zeit, bis sich das Bild auch wirklich nach jedem Durchgang aktualisiert hat. Hat mit dem eigentlichen Projekt 0 zu tun, verschlingt aber jede Menge Zeit :(.

HaWe
12.01.2018, 13:53
Prinzipiell geht das schon. Nur eben, C/C++ soll ja prinzipiell auch nur ein Werkzeug sein. Du kriegst die Werkzeuge zur Hand und baust dir daraus das, was du haben willst. Man könnte es mit Modellbausätzen vergleichen. Assembler ist die härteste Variante. Da kriegst du im Baukasten nur einen Plan, alles andere musst du selbst erledigen. C/C++, da kriegst du dann die ganzen Einzelteile dazu, in Python usw. ist das halbe Modell schon zusammengebaut. Ist wohl die Frage, wie man es haben will.

Es gibt zwei Möglichkeiten, wie du an das kommst, was du haben willst.

Variante 1:

Du klemmst dich soweit hinter C/C++, bis du dir aus den Werkzeugen deine eigene API zusammen bauen kannst (So mache ich es in der Regel)

Variante 2:

Du suchst jemand, der das für dich übernimmt.

Denn ich glaube kaum, dass man OpenCV dazu bewegen wird, dass in Eigenregie zu machen. Sie können es, Python zeigt es ja. Aber in C/C++ ist es meines Erachtens nach eben in der breiten Mehrheit nicht erwünscht.

Ich muss aber dazu sagen, der Magen dreht sich bei mir in vielerlei Hinsicht um. Python ist jetzt auch keine Sprache, die ich unbedingt benutzen möchte. Lua ist da noch brutaler, wie ich finde. Da liegt es daran, den inneren Schweinehund zu überwinden. Anfangs ist es ein Krampf, irgendwann gewöhnt man sich dran, auch wenn man es dann immer noch nicht mag. Vielleicht wäre es für dich mal einen Versuch Wert. Ich denke, wenn du mit Python eine Zwekehe eingehen würdest, könntest du viele Probleme umgehen, die letzten Endes überhaupt nichts mit deinem eigentlichen Projekt zu tun haben. Ich weiss, wie frustrierend das sein kann. Ich hatte mir so ein schönes Minispiel mit OpenCV gebastelt, wo ich dann mein neurales Netzwerk drauf loslassen wollte und musste dann feststellen, OpenCV ist da nicht flexibel genug. Das zeichnet das Fenster immer nur mittels waitkey(); neu. Ich hätte also jeden einzelnen Schritt per Tastatur quasi quittieren müssen. So ein neurales Netzwerk lernen zu lassen, wäre äusserst mühsam. Also habe ich einige Zeit damit verbracht, bis ich das mit OpenCV erstellte Bild in wxWidgets darstellen konnte und dann noch eine Zeit, bis sich das Bild auch wirklich nach jedem Durchgang aktualisiert hat. Hat mit dem eigentlichen Projekt 0 zu tun, verschlingt aber jede Menge Zeit :(.


edit, Ergänzung:
gerade eben habe ich noch etwas anderes gefunden in der Art, wie ich es meine (vergleichbar auch mit PiStorms)- aber eben auch wieder nur in Python, nicht in C:


https://www.youtube.com/watch?v=kLnkAZCwZX0

Aber solange es nichts in C(++) für den Pi gibt was es mit Python/PiStorms oder Arduino-Pixy apps und libs aufnehmen kann, lass ich es lieber ganz - zuviel Aufwand.

Pixy selbst ist übrigens leider keine Lösung, die Erkennungsalgorithmen und die Cam-CCD-Farbsensoren sind einfach zu schlecht;
vgl.: http://www.mindstormsforum.de/viewto...p=71572#p71572