PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : OpenCV & Pi Cam



HeXPloreR
29.12.2013, 13:26
Hallo zusammen,

ich versuche schon seit einige Tagen die Pi Cam anzusprechen um im späteren Verlauf hoffentlich eine Facedetection mit OpenCV auf dem Raspi durchführen zu können.

Dazu habe ich verschieden Beitrage aus dem Internet versucht nachzuvollziehen.
Linux ist für mich nicht gerade einfach nachzuvollziehen.

tothinkornottothink.com/post/59305587476/raspberry-pi-simplecv-opencv-raspicam-csi-camera

In diesem Beitrag komme ich bis zum Eintrag "camera = Camera(); danach kommt eine Fehlermeldung: Syntaxfehler '(' - also nicht mal der Fehler der dort angegeben wird.
Bei dieser Anleitung ist mir auch nicht ganz klar ob ich den "hal" nur benötige um OpenCV 2.4 zu installieren oder ob ich es nach dem reboot wieder starten muss?
Ich habe das Image nach der Installation von OpenCV gesichert(sowie eine frische installation nach dem update), weil es ja doch über 5(!!!) Stunden dauert das auf dem Rpi zu bauen.
Danach installiere ich git und SimpleCV. Auch die UV4L Videotreiber habe ich in der darin verlinkten Anleitung installiert.

Hat jemand diese Anleitung schon erfolgreich durchgeführt und was müsste dann als ergebnis herauskommen? (> ich hoffe doch ein Videofenster,dessen Inhalt nicht unbedingt gespeichert werden muss)

----------------------------------------------------------------------------
die Magic Mirror Anleitung (http://thinkrpi.wordpress.com/2013/05/22/opencv-and-camera-board-csi/) halte ich als am bessten geeignet dafür:

In dieser Anleitung bin ich bei Schritt3 bis 4, gekommen , ich hatte sogar den Test camcv -t 1000 ausführen können - danach hab ich irgednwie mein Raspbian zerschossen. Ach ja, ich kam nach der Eingabe -t 0 nicht mehr aus dem Videovollbild raus - etwas sehr ungüstig wenn alles abgespeichert wird. Spannungstrennung wird den Rest erledigt haben.

Jetzt fange ich also zum dritten Mal an diese Anleitung abzuarbeiten.

Hat hiermit schon jemand gearbeitet? Kommt hier dann ein Videofenster mit Gesichtsfindung?


Ich bin ganz leicht am verzweifeln das es mir doch recht schwierig erscheint die PiCam auszulesen.
Wenn das alles weiterhin nicht klappt, dann versuche ich es erstmal mit WebCam auf normalem PC mit OpenCV. Was allerdings nicht das Ziel ist.

Viele Grüße
Jörg

HeXPloreR
15.02.2014, 17:07
Ach, wie schön das ich mich selbst hier wieder finde über Goockel ;) ...naja eigentlich auch nicht so richtig :(

Mit Python OpenCV habe ich mit einer normalen WebCam jetzt schon mal sehr gute Ergebnise beim der Facedetection auf PC bekommen.

Voll mit Informationen ist diese OpenCV Seite (- ganz unten auch für Python):
http://docs.opencv.org/trunk/index.html
Das geht alles gut mit Webcam auf Pc...

Ich bin bisher nicht viel weiter gekommen, eine Gesichtserkennung auf dem RasPi mit der PiCam hinzubekommen.

...ich hab was neues gefunden, mal schauen was ich damit schaffe..


Hat es jetzt vielleicht schon jemand geschafft und kann mir einen funtionierenden Weg weisen?

Viele Grüße
Jörg

Sebas
16.02.2014, 12:17
Moin Jörg,
schreib doch mal Markus an. Der hatte doch genau das gleiche vor :-)
Viele Grüße!

HeXPloreR
28.02.2014, 17:55
Hallo.

Hat jemand schon Diese Anleitung (http://thinkrpi.wordpress.com/2013/05/22/opencvpi-cam-step-2-compilation/)erfolgreich in Python umgestzt? Ich scheitere immer noch beim Step3.4. bei make : Dort wird mir ein Fehler angezeigt der besagt er findet z.B. die *-config.h nicht. Im Verzeichnis sind aber alle Dateien die includiert werden sollen vorhanden und haben auch Inhalt. Ich habe ALLE Massnahmen aus den Kommentaren auf der Seite schon ausprobiert. Es werden immer wieder verschiedenen Dateien zB "teapot.h" nicht gefunden, obwohl sie definitiv da sind.
Die Datei "CMakeLists.txt" lösche ich immer wieder raus damit es keinen Fehler dazu gibt.

Fahre grade meinen dritten Versuch alles auf dem RPi zu installieren und zu compilieren.
Mit etwas Glück kann ich die halb geannten Fehlermeldungen nicht mehr nachreichen ;)

Viele Grüße
Jörg

EDIT: Fehler nach make:


Scanning dependencies of target camcv
...
[100%] Building C object CMakeFiles/camcv.dir/camcv.c.o
In file included from /root/camcv/camcv.c:77:0:
/root/camcv/RaspiTex.h:33:21: fatal error: EGL/egl.h: Datei oder Verzeichnis nicht gefunden
compilation terminated.
make[2]: *** [CMakeFiles/camcv.dir/camcv.c.o] Fehler 1
make[1]: *** [CMakeFiles/camcv.dir/all] Fehler 2
make: ***[all] Fehler 2


EDIT2: Problem gelöst :)

radbruch
01.03.2014, 09:21
Hallo


Ach, wie schön das ich mich selbst hier wieder finde über Goockel

EDIT2: Problem gelöst
Könnest du noch ein paar Worte zur Lösung schreiben? Falls mal jemand bei der Suche über diesen Thred stolpert...

btw mache ich auch grad meine ersten zaghaften Schritte mit opencv und Python, allerdings plane ich das mit einer etwas potenteren Hardware als es der pi darstellt:

http://www.minix.com.hk/Products/MINIX-NEOX5.html
http://www.minixforums.com/threads/linux-on-minix-x5.1388/

Gruß

mic

piggituX
14.07.2014, 10:24
hi,

und hast du es komplett geschafft ?

bin bei punkt 5 versuche heute abend weiterzumachen

cYa

HeXPloreR
15.07.2014, 12:02
Hi,

nein hab erstmal nichts mehr gemacht damit. Hab für die reine Gesichtfindung "facedetect.py" benutzt. Funktioniert aber nur mit webcam bisher ...und da ist die Auslastung des RPi fast schon auf Anschlag. Eine andere Möglichkeit hat mir das Werbegeschenk von der MakerFaire2014 gebracht. Dort gab es die Ausgabe 02/2014 der C't Hacks und darin ist eine Geichtserkennung vorgestellt. Hab es getsern leider nicht mehr ausprobieren können. Das Image sichern hatte ich zu spät angefangen und es wurde mir deutlich zu spät dann. Ich versuche es die Tage zum laufen zu bingen.
Das andere Problem ist die Übertragung der Koordinaten des erkannten Gesichtss zu meinem µC. Da würde ich gerne den UART benutzen...hat bisher aber nicht erfolgreich geklappt.

Viele Grüße
Jörg

piggituX
16.07.2014, 12:57
Hi,

nein hab erstmal nichts mehr gemacht damit. Hab für die reine Gesichtfindung "facedetect.py" benutzt. Funktioniert aber nur mit webcam bisher ...und da ist die Auslastung des RPi fast schon auf Anschlag.

genau das ist eben euch mein Problem, mit Pi Cam ist es viel Ressourcen schonender, ich hatte ein Projekt gefunden, das über einen 2 Servo anhand von Facedetect dir folgt. Nutzt auch openCV, daher versuche ich eben das auch mit PICam zum Laufen zu bekommen.

cYa

Kampi
16.07.2014, 14:44
Gesichtserkennung habe ich nicht realisiert, aber eine Schrifterkennung mit Hilfe von Tesseract und der Raspi-Cam:

http://kampis-elektroecke.de/?page_id=4061

Unter anderem kann man dann die Raspi-Cam auch mit Open CV nutzen :)

HeXPloreR
16.07.2014, 16:18
Okay Daniel,

ich habe natürlich auch Deine Seite damals besucht und nur was von "Webcam" gelesen. Ob ich die PiCam-Einrichtung nun übersehen habe oder nicht kann ich jetzt natürlich nicht mehr sagen.
Dein Tipp könnte das eine oder andere Problem schon mal beheben. Da diese Lösung jetzt vermutlich schneller durchgeführt ist als die Einbindung von openFrameworks +Addons....werde ich das jetzt mal versuchen. Danke erstmal dafür.

@piggituX: Dieses Projekt würde mich interessieren...vor allem ob die beiden Servos direkt vom Raspi mit PWM versorgt werden? Oder ob es eher eine "unsauber grobe an-aus Geschichte" ist.

Viele Grüße
Jörg

Kampi
16.07.2014, 16:40
Hey Jörg,

nein hast du wahrscheinlich nicht überlesen :)
Ich habe die Kategorie erst vor ~2 Monaten erweitert :)

piggituX
16.07.2014, 21:10
Guten Abend,

das Project nutzt Servoblaster, durch Zufall gefunden, man kann damit 8 Servos steuern

und hier ist das komplette Project

https://github.com/mitchtech/py_servo_facetracker

ich steuer meine Servos über nen kleine Transistorschaltung und ziehe den Strom über eine externe Spannungsversorgung, das typische Zucken hat es nicht, da es auf Serverblaster aufsetzt.

cYa

HeXPloreR
20.07.2014, 20:00
Danke Dir piggituX.

ich schau mir das mal an....möglich dass das meine Problem mit der Datenübertragung direkt mitlöst. Ich werte momentan als Notlösung vier Sharp IR Sensoren aus um eine Körperbewegung auf meinem Hexapod zu erziehlen. Dazu greife ich die zwei erechneten PWM-Werte programmtechnisch ab, welches eigentlich (auch) die Pan Und Tilt Servos am Kopf steuern, rechne diese Werte zu maximal Neigung von 3° um und führe sie dann der IK zu. Ist nicht so toll und auch nicht das was ich haben möchte aber immerhin es tut sich dann was ;) Ich habe eine unsaubere Rotation um den Robotermittelpunkt. Ich meine man sagt "Nick" und "Roll" also nach vorne und hinten sowie nach links und rechts neigen. Für eine optisch ansprechende Bewegung muss ich noch kleine Korrekturen im Code machen und anstatt des "rollen" soll es auf "gieren" gehen, also eine Drehung um die Hochachse.

Viele Grüße
Jörg

- - - Aktualisiert - - -

@ Kampi: Ich habe die Sources.list angepasst, update durchgeführt und irkey.asc hinzugefügt. Leider wird die PiCam nicht unter ls /dev angezeigt. Normalerweise sollte danach ja auch das facedetect.py jetzt die PiCam erkennen. Vermutlich muss aber im Pythoncode selbst noch was eingestellt oder geändert werden. Falls ja, dann bin ich vermutlich ab sofort draussen, denn damit weiß ich nicht mehr Bescheid. Ich habe den UART letztens aktiviert...kann das damit was zu tun haben?
Gibt es vielleicht noch irgendwas wichtiges was man unbedingt installiert haben sollte?

Naja, morgen werde ich erstmal den Servoblaster (http://mitchtech.net/raspberry-pi-servo-face-tracker/) wieder mit WebCam ausprobieren.

Viele Grüße
Jörg

piggituX
20.07.2014, 21:48
nabend,

habe mir mal die V4l Unterstützung für die RaspiCam angesehen und eingebaut, leider bekomme ich kein scharfes Bild zustande, was der Facetracker erkennen würde. Ich werde mal weiterschauen, ob sich da noch was verbessern lässt.

mit dem orginalen raspivid sieht es besser aus, leider kann ich das nicht nutzen.. vllt also doch noch selber kompilieren #-o

@hex du musst dir das /dev/video0 erst generieren,

siehe Beispiele von der Project Website

http://www.linux-projects.org/modules/sections/index.php?op=viewarticle&artid=16

z.b.

uv4l --driver raspicam --auto-video_nr --encoding yuv420 --width 320 --height 240


oder als Service starten, dann kannst du es in einer Konfigdatei einstellen

http://www.linux-projects.org/modules/sections/index.php?op=viewarticle&artid=14


cYa
thom

HeXPloreR
20.08.2014, 18:04
Hallo thom,

na wie sieht es aus hast du ein besseres Ergebnis erreichen können?

Vielen Dank und Gruß
Jörg

piggituX
22.08.2014, 11:49
hi,

oh man ist das schon wieder 4 Wochen her.... leider konnte ich noch nicht weitermachen, da ich beruflich leicht eingespannt und mein Sohn mich doch aktuell sehr auf Trab hält (16 Monate) sobald ich Zeit finde, poste ich was.

cYa thom

piggituX
22.09.2014, 17:47
nabend,

so durch lange Kundentermine auswärts habe ich mir nun ein portable rasbperry pi Station auf Basis eines Motorola Atrix Lapdock gebaut. damit kann man auch von unterwegs bissel bauen.

29092
cYa
thom

HeXPloreR
23.09.2014, 17:45
Hallo thom,

okay, das ist schon mal echt klasse. Aber wie sieht es denn mit der Schärfe des PiCam aus - dazu schon was neues?

Viele Grüße
Jörg

oberallgeier
02.12.2014, 12:19
... so durch lange Kundentermine auswärts habe ich mir nun ein portable rasbperry pi Station auf Basis eines Motorola Atrix Lapdock gebautHallo thom,

für "unterwegs" geht das doch mit (fast) jedem Notebook oder was auch immer einen remote desktop verwalten kann. Oder ist dieses Motorola Atrix Lapdock "weniger" als ein Notebook? Ich arbeite mit dem RasPi praktisch immer nur über die PC(Notebook/Netbook)-Remote_Desktop(WIN7). Bildschirm und Tastatur sind an meinem RasPi fast nie dran. Leider habe ich noch nie versucht eine Remote-Desktopverbindung mit nem iPOD herzustellen - das müsste doch auch gehen :-0

piggituX
02.12.2014, 20:50
Hi,

ja das LapDock ist einfach nur nen 10,1 Zoll Display mit Tastatur + Akku was sogar den Raspi über das HDMI mit Strom versorgt, gerade wegen der CAM ist es schön ein echtes unverfälschtes Bild zu haben. Generell habe ich durch meinen Job eh immer 2 Laptops dabei. Sogesehen könnte ich darauf verzichten, war im Anfang auch nur nen Test, inzwischen mag ich das LapDock da darüber auch die Cubies funktionieren und man alles schön in einem Gerät hat, Bild + Eingabe.

@hexplorer

bin leider noch nicht wirklich weitergekommen, irgendwie drehen die Kunden am jahresende auf und man kommt zu nix . :rolleyes:

cYa

HeXPloreR
23.04.2015, 19:11
Hey,

ich habe nun die Facedetection auf dem RasPi-2 mit einer WEB-Cam am laufen. Es wird jetzt etwa zwischen 28 - 35ms ein Gesicht gefunden. Das wären dann etwa 35 - 28Fps. Die Auslastung der CPU's wird mit 20 - 30% angezeigt. Ich finde damit lässt es sich gut leben.
Jetzt muss das Ganze noch in den OpenCm9 per UART übertragen werden. Und der muss es auswerten.

Viele Grüße
Jörg