Forum: PC Hard- und Software Bohrhilfe, Echtzeitbearbeitung von Videodaten aus Kamera


von Mike (Gast)


Lesenswert?

Hallo,

ich habe kürzlich einen Proxxon-Bohrständer um eine Videokamera im 
Sockel erweitert, um beim Bohren von doppelseitigen Platinen eine 
visuelle Navigationshilfe zu haben.

Dabei wird die Platine beim Bohren von unten mit der Kamera betrachtet 
und das Bild dann auf einem Bildschirm wiedergegeben. Das klappt soweit 
sehr gut.

Mein Problem ist nun, dass das aufgenommene Bild 1. vertikal gespiegelt 
werden muss und 2. ich gerne eine Zielhilfe in Form eines Kreuzes, eines 
Kreises o.ä. hätte. Diese Zielhilfe soll auf die Bohrerspitze zentiert 
werden können und fortan zum anpeilen der Bohrstellen dienen.

Als einfachste Lösung würde ich gerne zunächst die Videodaten im PC 
bearbeiten lassen, nur leider finde ich kein Tool, mit dem die 
Videodaten direkt von der Kamera aufgenommen und in Echtzeit mit der 
Spiegelung und dem Overlay versehen werden können.

Das Programm VirtualDub bietet diese Funktion mit den Filtern flip 
vertically und Logo. Daher würde ich dieses Programm sehr gerne 
verwenden. Leider lassen sich die Filter jedoch nicht während der 
Bildvorschau anwenden sondern offenbar erst auf bereits erstellte 
Aufnahmen.

Hat einer von Euch hier einen Tipp für mich oder ein alternatives 
Programm unter Windows oder Linux?

Mit Gruß und Dank vorweg

Mike

von P. M. (o-o)


Lesenswert?

Mike schrieb:
> Hat einer von Euch hier einen Tipp für mich oder ein alternatives
> Programm unter Windows oder Linux?

Nicht direkt - aber im Webcam-Bereich sind solche Funktionen doch recht 
üblich? Evtl. da mal suchen?

von Tom (Gast)


Lesenswert?

Hallo, im Roboternetz hat mal jemand soetwas ähnliches gebaut, 
allerdings ist keine Spiegelfunktion drin und der Sourcecode ist 
verschollen:
http://www.roboternetz.de/community/threads/36999-Zu-programmierendes-Softwaretool-zum-Platinenbohren-gesucht!?highlight=webcam+bohren

von Helferlein (Gast)


Lesenswert?

VLC kann das....

von Mike (Gast)


Lesenswert?

Hallo Helferlein,

vlc kann sowas? Wie genau geht das? Ich habe derzeit eine Grabberkarte 
mit FBAS-Eingang verbaut, die das Kamerabild digitalisiert.

Mit Gruß

Mike

von Simon K. (simon) Benutzerseite


Lesenswert?


von Frank (Gast)


Lesenswert?

Sowas kann man eigentlich mit wenig Mühe klassisch "ausprogrammieren", 
z.B. in VB, Delphi oder RealBasic ...

von Uhu U. (uhu)


Lesenswert?

Frank schrieb:
> Sowas kann man eigentlich mit wenig Mühe klassisch "ausprogrammieren",
> z.B. in VB, Delphi oder RealBasic ...

Und wie stehts mit der Totzeit? Es ist nicht sonderlich brauchbar, wenn 
das Schirmbild der Realität um eine Sekunde, oder so hinterher hinkt.

von mike (Gast)


Lesenswert?

Hallo,

der Tipp mit VLC war sehr hilfreich. Das Programm weist in der Tat ein 
paar sehr nützliche Echtzeiteffekte auf, die direkt auf das Kamerabild 
angewendet werden können.

Ich habe VLC 1.1.9 unter Linux mit zwei Grabberkarten getestet. 
Geometrische Bildtransformationen sind möglich sowie das Einblenden 
eines Logos inkl. Transparenz des Logo-Hintergrundes.

Die Latenz konnte nach einigen Versuchen gut reduziert werden, so dass 
nur noch ein minimaler zeitlicher Versatz existiert, der zwar merklich, 
aber kaum störend ist.

Somit ist das Problem mit dieser Kombination durchaus lösbar.


Vielen Dank!

Mike

von Tom (Gast)


Angehängte Dateien:

Lesenswert?

Frank schrieb:
> Sowas kann man eigentlich mit wenig Mühe klassisch "ausprogrammieren",
> z.B. in VB, Delphi oder RealBasic ...

Hallo,

habe eben kurz ein OpenCV-Code-Beispiel angepasst (deshalb in C) ohne 
Anspruch auf Perfektion. Meine Webcam taucht einfach als /dev/video0 
auf, damit funktioniert es einfach so.

Grüße
Tom

von Tom (Gast)


Lesenswert?

Nachtrag: Latenz ist bei meinem System spürbar, aber nicht störend.

von mike (Gast)


Lesenswert?

Hallo Tom,

vielen Dank für dein Code-Beispiel. Ein eigenes Programm,  welches das 
Device direkt auf die Ausgabe schreibt und dabei über OpenCV noch 
Tranformation und Overlay realisiert... das wäre natürlich das Optimum. 
Besonders, wenn es noch eine rudimentäre GUI für die Koordinateneingabe 
des Zielkreuzes gäbe.

Ich habe mit OpenCV noch gar nichts gemacht, aber ich werde deinen Code 
nochmal eingehend betrachten und versuchen, das auf meinem Rechner zum 
Laufen zu bekommen. Mit C, GUI und Linux in Kombination habe ich noch 
wenig Erfahrungen. Wäre also eine Motivation zur Einarbeitung :)

Mit welcher GUI-Bibliothek arbeitest du? QT oder GTK?

Vielen Dank für deine Mühe. Ich bin für weitere Anregungen sehr dankbar.

Mit Gruß

Mike

von Tom K. (ez81)


Angehängte Dateien:

Lesenswert?

Hallo mike,

als GUI-Bibliothek habe ich die integrierte Highgui von OpenCV benutzt, 
für sowas einfaches wie oben reicht das, Knöpfe und Schieberegler gäbe 
es sogar auch ;). Mit ernsthafter GUI-Programmierung habe ich mich nie 
beschäftigt. In dem Beispiel wird das Kreuz einfach per Mausklick ins 
Bild geklickt.

Wenn Du komplett neu einsteigst, ist es vielleicht einfacher, OpenCV mit 
Python zu benutzen, anstatt in C mit Zeigern rumzufuhrwerken. Ich habe 
das ganze (aus eigenem Interesse) mal (gepfuscht) nach Python portiert 
(jetzt unter 50 Zeilen). Python müsste unter jedem Linux schon dabei 
sein, bei Ubuntu muss nur noch python-opencv nachinstalliert werden.

Grüße und viel Spaß
Tom (jetzt eingeloggt)

von Mike (Gast)


Lesenswert?

Hallo Tom,

ich habe gerade mal versucht deinen Code in den Python-Interpreter zu 
laden. die OpenCV-Bibliothek für Python ist installiert. Leider bekommt 
Python jedoch offenbar OpenCV nicht eingebunden.


root@xubuntu:/home/xubuntu/Downloads# python bohrhilfe.py
ImportError: numpy.core.multiarray failed to import
Traceback (most recent call last):
  File "bohrhilfe.py", line 5, in <module>
    import cv
  File "/usr/lib/pymodules/python2.7/cv.py", line 1, in <module>
    from cv2.cv import *
ImportError: numpy.core.multiarray failed to import

Hast du da einen Tipp für mich?


Mit Gruß

Mike

von Mike (Gast)


Lesenswert?

... das Betriebssystem ist übrigens XUbuntu 12.04. Also recht aktuell.

von Tom K. (ez81)


Lesenswert?

Moin.

Wurde numpy bei python-opencv schon mitinstalliert? Wenn nein, muss das 
evtl. noch  nachinstalliert werden. Bug: In der Zeile mit cv.Flip muss 
die 0 zu 1 geändert werden.

von Uwe (Gast)


Lesenswert?

OpenCV wird das beste sein. Die Beispiele kann man sich sehr schnell 
hinbiegen so wie mans braucht.

von Johann L. (radiostar)


Angehängte Dateien:

Lesenswert?

Ich hätte da auch noch was programmiert. Braucht QT, und soweit ich mich 
erinnere, nur die video4linux-libs. Im Wesentlichen ist das Programm ein 
Abklatsch aus irgendeinem Howto und auf das Wesentliche reduziert. Dafür 
hat's praktisch keine Latenzen und ist recht kompakt geraten :-)

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.