komplexe Webcamfrage

  • VB.NET

Es gibt 22 Antworten in diesem Thema. Der letzte Beitrag () ist von kevin89.

    komplexe Webcamfrage

    Kann man mit Virsual BAsic 2008 un einer Webcam eine art Blitzer Herrstellen also dass er dann die Zeit misst und auf die längre rechnet und dan die Kmh Zahl rausbecommt

    MfG Renes1998

    PS Würde mich über jede Hilfe Freuen
    Als Voraussetzung musst du zuerst einmal wissen, was alles benötigt wird, um die Geschwindigkeit zu berechnen:
    1. Eine fixe Strecke, beispielsweise 1m
    2. Die für die fixe Strecke benötigte Zeit
    3. Die Geschwindigkeitsformel, für konstante Geschwindigkeit (bleiben wir mal bei der einfachen konstanten Geschwindigkeit): v = s/t
    In Worten: "Geschwindigkeit ist die zurückgelegte Strecke (in Meter) pro Zeiteinheit (Sekunden)". In diesem Beispiel wäre die zurückgelegte Strecke 1 Meter und die dafür
    benötigte Zeit würdest du messen. Das gäbe dir dann folgende Rechnung: . Von Meter pro Sekunde zu Kilometer pro Stunde kommst du folgendermassen:

    Nun für die fixe Strecke brauchst du theoretisch 2 Punkte, welche ein Signal senden, wenn sich der Körper an ihnen vorbeibewegt hat. Ein Punkt am Anfang und ein Punkt am Schluss. Somit kennst du die Zeit (Abstand, zwischen dem Passieren der beiden Punkte). Mit EINER Webcam erscheint mir das relativ schwer. Mit zweien würde es evtl. gehen. Du müsstest einfach etwas herausfinden, dass die Webcam "merkt", wenn dich jemadn an ihr vorbei bewegt hat und dann eine Aktion auslöst.
    Am besten würde sowas vermutlich mit Infrarotschranken gehen.


    Gruss
    Pascal

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „PascalN“ ()

    Wie bereits gesagt bringt es dir nichts, die reine Bewegung zu erkennen, es sei denn du "trackst" das Objekt und kannst es an den verschiedenen Punkten erkennen, und dann muss noch die zurückgelegte Strecke berechnet werden. Oder du nimmst zwei Infrarotschranken und steckst damit eine feste Strecke ab, die eine Schranke erkennt den Eintritt, die andere den Austritt des Objekts, die erste startet den Timer, die 2. stoppt ihn. Ersteres wäre weitaus komplexer (du musst das Objekt irgendwie identifizieren, was bei zunehmender Geschwindigkeit umso schwieriger wird), daher würde ich zu Variante 2 raten.
    Also schau dir meinen erstenPost an.
    eine fertige C&P Lösung wird dir hier wohl keiner geben.
    Da musst du dich zuerst entweder stark mit Bilderkennung (und Objekttracking) und der Ansteuerung von einer Webcam befassen, oder du legst dir 2 Infrarotschranken zu, welche über USB oder RS232 angeschlossen sind und wertest die Daten dementsprechend aus.


    Gruss
    Pascal
    und dann evtl. wartet, bis es wieder unbewegt ist? Naja damit hättest du die dauer, jedoch nicht die Geschwindigkeit, was du mit einer WebCam auch nicht hinbekommen würdest, da du überhaupt keine tiefe hast...
    dir ist vlt. aufgefallen, dass du wenn du weiter von der WebCam weg bist, dass du eine größere Strecke zurücklegen musst um aus dem Bild der WebCam zu verschwinden, mit einer zweiten WebCam wäre das(wie bereits bemerkt) möglich, diese positionierst du in einer gewissen Entfernung und misst dann die Zeit zwischen dem eintritt bei der einen WebCam zu dem Zeitpunkt beim Eintritt in die andere(jedoch müsstest du hierbei z.B. mit einer Pappröhre die Blickwinkel der Kameras eindämmen, wiederum Aufgrund des tiefen problems^^...die Geschwindigkeit hierbei berechnest du dann mit der Entfernung der beiden WebCams...
    Edit: das ganze ist natürlich über VB ebenso wie mit C++ möglich...

    Lichtschranken wären hierbei natürlich die beste und wohl auch gängigste Methode, dort benötigst du ebenso den Abstand, der Unterschied ist, eine Lichtschranke kann man sich selber bauen :P

    selbes Edit: RS232 wäre wahrscheinlich für eine genaue Geschwindigkeit viel zu langsam(LPT wäre wohl noch schlimmer), deshalb würde ich am ehesten USB sagen ;)
    Ich wollte auch mal ne total überflüssige Signatur:
    ---Leer---
    ja könntest du(also so wie ich beschrieben habe natürlich :P aber auf keinen Fall mit GetPixel, dafür müsstest du dir LockBits angucken(kevin89 sollte hier irgendwo ein Tut versteckt haben ;)) wobei dir natürlich klar sein sollte, dass die beiden WebCams dann eigt. auch als Lichtschranken fungieren...
    Ich wollte auch mal ne total überflüssige Signatur:
    ---Leer---
    Zudem müsstest du eine gewisse Toleranz einbauen, denn je nach Helligkeit variieren die Bilder natürlich.
    Und nach dem Tut von kevin89 muss jedes Pixel 100% identisch sein... und das geht in der praxis natürlich nicht (schon gar nicht bei WebCams)


    Gruss
    Pascal
    WebCams variieren bereits beim nichts tun(nichtmal licht veränderungen "springen" die Pixel, wenn auch kaum merkbar...)...wenn die Bilder dort 100% identisch sein müssen, kann man das aber auch mit seiner Methode noch entsprechend umschreiben ;)
    Ich wollte auch mal ne total überflüssige Signatur:
    ---Leer---
    ja könntest du(also so wie ich beschrieben habe natürlich :P aber auf keinen Fall mit GetPixel, dafür müsstest du dir LockBits angucken(kevin89 sollte hier irgendwo ein Tut versteckt haben ;)) wobei dir natürlich klar sein sollte, dass die beiden WebCams dann eigt. auch als Lichtschranken fungieren...
    Man könnte auch auf der andreren Seite Pappe Machen dann wäre es eine Lichtschranke
    Hä?


    Eine Infrarotschranke ist folgendes: pimatec.ch/joomla/index.php?pr…n=com_virtuemart&Itemid=7 zum Beispiel.
    Jetzt müsstest du natürlich eine haben, welche man an den PC anschliessen kann, aber auch das gibt es ;)
    Einfach nur suchen..
    EDIT: @kevin89: Sry dann habe ich dein Tut mit einem anderen verwechselt, da sich mal gelesen habe.. Denn dort war es nämlich so, dass es nur ging, wenn das Bild zu 100% glich war..


    Gruss
    Pascal
    häh auf welcher anderen Seite? Und es wird dadurch noch keine Lichtschranke, eine Lichtschranke hat eine Auflösung von einem Pixel und unterscheidet dabei eigt. nur Hell und Dunkel, von der anderen Seite wird Licht(Laser oder Infrarot Licht gesendet, welches unterbrochen wird...)
    Ich wollte auch mal ne total überflüssige Signatur:
    ---Leer---