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
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?
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
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.
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
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
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
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)
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
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.
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 :-)