Forum: PC-Programmierung WebCam Bild (LEB) auswerten, wie mache ich das


von poljot (Gast)


Lesenswert?

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

von Mike (Gast)


Lesenswert?


von ./. (Gast)


Lesenswert?

go1984

ist aber nicht free.

von Tom (Gast)


Lesenswert?

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.

von A. B. (funky)


Lesenswert?

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

von JojoS (Gast)


Lesenswert?

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.

von poljot (Gast)


Lesenswert?

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.

von bgm (Gast)


Lesenswert?

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

von poljot (Gast)


Lesenswert?

..ich bin doch kein Linux spezialist :-)

von Vlad T. (vlad_tepesch)


Lesenswert?

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
Noch kein Account? Hier anmelden.