Hallo, folgendes möchte ich machen: - ich möchte ein Bild mit einer Webcam aufnehmen, z.B. eine Gerätefrontseite mit LEDs - sobald eine LED angeht (die Position ist definiert) bekomme ich einen trigger (Zeitstempel) am PC. wie könnte ich das möglichst einfach realisieren? ich habe PC, Webcam, welche Software verwende ich dazu (am besten free oder open source). Danke Poljot
OpenCV. Die enthaltenen Beispiele enthalten eigentlich alles, was du brauchst. * Bild capturen * interessanten Bereich ausschneiden (Frontplatte) * dessen durchschnittliche Helligkeit berechnen, um Umgebungslicht zu kompensieren * Helligkeit der Position der LED berechnen (evtl. auch die einzelnen Farbkanäle auswerten und die Farbe bestimmen) * vergleichen * ... * von vorne beginnen Die Position der LED sollte man relativ simpel auch mit der Maus ins Bild klicken können.
schau dir OpenCV an. Ein Bild von ner WebCam läßt sich damit einfach einlesen...sonst gibts viele StandardBildverarbeitungsfunktionen. Aber viel Spaß...OpenCV ist definitiv kein Zuckerschlecken und du musst programmieren können. Manche Webcamsoftware kann auch selbstständig Bildbereiche überwachen und bei Bewegung Aktionen auslösen. Evtl. reicht das schon. Namen kann ich aber nict nennen
es gibt einige WebCam Programme zu Überwachungszwecken, die können aufzeichnen oder Aktionen auslösen sobald etwas im Sichtbereich passiert, z.B. http://www.visiongs.de/ Bei einer älteren Creative Cam hatte ich auch mal so ein Minimal Tool dabei, da braucht man sicher nicht selber anfangen zu programmieren.
oh, vielen Dank für die schnellen Antworten. Ich kann programmieren, sollte aber dennoch so einfach wie möglich gehen. Also gerne bereit für weitere Vorschläge.
Im Linuxmagazin [1] wurde in der Reihe Perl-Snapshot ein Programm vorgestellt, welches mit Hell/Dunkelerkennung an festgelegten Punkten das Webcambild eines LCD-Displays (RSA-Token) ausliest. Mit wenig Aufwand sollte es an Deine Anforderungen angepasst werden könne Die Realisierung erfolgte über die CPAN-Module Video::Capture::V4l::Imager und YAML [1] http://www.linux-magazin.de/Heft-Abo/Ausgaben/2007/05/Zufall-unter-Beobachtung
A. B. schrieb: > Aber viel Spaß...OpenCV ist definitiv kein Zuckerschlecken und du musst > programmieren können. ICh find OpenCV klasse folgendes grabt bilder von der WebCam, macht nen Sobel drauf und zeigt das Originalbild und das Resultat in jeweils eigenen Fenster an:
1 | CvCapture* cap = cvCreateCameraCapture(-1); /* erste camera */ |
2 | IplImage* img; |
3 | IplImage* dest; |
4 | cvGrabFrame(cap); /* ein frame schon mal holen */ |
5 | img = cvRetrieveFrame(cap); /* */ |
6 | dest = cvCloneImage(img); /* um ausgabebild zu erzeugen */ |
7 | cvNamedWindow("cam"); /* fenster erzeugen */ |
8 | cvNamedWindow("Sobel"); |
9 | |
10 | /* schleife, solange keine taste gedrückt und kein fenster geschlossen wird */
|
11 | while( (-1 == cvWaitKey(1)) |
12 | && cvGetWindowHandle("cam") |
13 | && cvGetWindowHandle("Sobel")) |
14 | {
|
15 | cvGrabFrame(cap); |
16 | img = cvRetrieveFrame(cap); |
17 | |
18 | cvSobel(img, dest, 1, 0, 3); /* sobel in x-richtung */ |
19 | cvShowImage("cam", img); /* bilder anzeigen */ |
20 | cvShowImage("Sobel", dest); |
21 | }
|
22 | |
23 | cvReleaseCapture(&cap); |
24 | cvDestroyAllWindows(); |
25 | cvReleaseImage(&dest); |
viel einfacher gehts ja fast nicht mehr. DAs ganze in eine Datei zu schreiben sind nur wenige zeilen mehr
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.