Direkt zum Hauptinhalt

VisiCam - Teile mit Kamera passgenau platzieren

VisiCam ist ein extra Programm für Visicut. Es erlaubt das Erkennen des aktuellen Laserbettes und Platzieren von Objekten mit Hilfe einer Webcam und 4 Markern - in jeder Ecke einer.

Installation von VisiCam

Ausgedruckte Marker

https://raw.githubusercontent.com/t-oster/VisiCam/refs/heads/master/visicam-marker.svg

Erfordernisse

Achtung. Es sind exakt folgende Versionen zu verwenden, da zu alte oder zu neue Versionen keinen Build erlauben.

Anleitungen

Hinweis: VisiCam kann auch als [Docker Container](https://github.com/t-oster/VisiCam/blob/master/Dockerfile) installiert werden!

Step by Step

Git cloning
cmd
mkdir "C:\Epilog Laser\"
cd "C:\Epilog Laser\"
git clone https://github.com/t-oster/VisiCam.git
Java Installation

https://download.java.net/java/GA/jdk14.0.2/205943a0976c4ed48cb16f1043c5c647/12/GPL/openjdk-14.0.2_windows-x64_bin.zip herunterladen und in C:\Epilog Laser\VisiCam\ entpacken

ant Installation

ant herunterladen, nach C:\Epilog Laser entpacken und dann ant in Umgebungsvariable %PATH% (User) einfügen: C:\Epilog Laser\apache-ant-1.9.9\bin

Wir benötigen diese alte ant Version, damit Java 1.6 unterstützt wird.

grafik.png

Javacv Bibliothek v0.8 einbinden

Herunterladen von https://repo1.maven.org/maven2/org/bytedeco/javacv/0.8/javacv-0.8-bin.zip und Entpacken in C:\Epilog Laser\VisiCam\lib\javacv-bin

grafik.png

OpenCV Bibliothek 2.4.9 einbinden

Herunterladen und Installieren von https://sourceforge.net/projects/opencvlibrary/files/opencv-win/2.4.9/opencv-2.4.9.exe/download und dann in Umgebungsvariable %PATH% (User) einfügen: C:\Epilog Laser\opencv\build\x64\vc10\bin

grafik.png

Projekt kompilieren

Der Build dauert ca. 10-15 Sekunden

cmd
cd "C:\Epilog Laser\VisiCam\"
set "JAVACMD=C:\Program Files\Java\jdk1.7.0_80\bin\java.exe"
ant clean
ant -verbose

## Starten (manuell)

Folgender Befehl startet VisiCam, aber scheitert im Web GUI mit Fehler: INTERNAL ERROR: serveFile(): given homeDir is not a directory

cmd
cd C:\Epilog Laser\VisiCam\dist
VisiCam.jar

Folgender Befehl funktioniert jedoch:

cmd
cd C:\Epilog Laser\VisiCam\
ant run

grafik.png

Das Webinterface läuft unter http://192.168.178.90:8080 und sieht wie folgt aus:

grafik.png

Das aktuelle Kamerabild kann über http://192.168.178.90:8080/image abgerufen werden.

Starten per Verknüpfung

Wir können folgende Zeilen in eine start-visicam.cmd Datei schreiben und zukünftig per Mausklick starten:

cd C:\Epilog Laser\VisiCam\
"C:\Epilog Laser\apache-ant-1.9.9\bin\ant.bat" run

Config

Alle in der Web GUI angepassten Werte landen in der Konfigurationsdatei C:\Epilog Laser\VisiCam\visicam.conf

Marker setzen und Kamera-Kalibrierung

ToDo

IMG_20250613_181242.jpg

Auf diesem Foto zu sehen: Die vier Eck-Marker, ein 610x313mm großes Stück Papier und ein Kalibrierlaserjob mit 8 Stützpunkten. Zur besseren Sichtbarkeit wurden sie nach dem Lasern mit Textmarker gefärbt, weil das Kamerabild zu hell gewesen ist.

Anpassung der Webcam-Einstellungen mit FFmpeg

Die von uns verwendete Webcam wird automatisch in ihren Einstellungen überschrieben, was ziemlich stört, da das Bild häufig überzeichnet ist und deshalb gelaserte Konturen nicht mehr erkennbar sind. Mit den Windows-eigenen Einstellungen kommen wir nicht weit. Deshalb installieren wir das Tool ffmpeg, um die Webcam-Einstellungen mit einem netten GUI zu überschreiben.

FFmpeg herunterladen und in %PATH% einbinden:

https://ffmpeg.org/download.html#build-windows

USB Kameras auflisten:

ffmpeg -list_devices true -f dshow -i dummy

Zielkamera auswählen und Konfigurationsdialog öffnen:

set cam="@device_pnp_\\?\usb#vid_32e4&pid_9422&mi_00#8&149655b1&0&0000#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\global"
ffmpeg -f dshow -show_video_device_dialog true -i video=%cam%