PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : webcam>mustererkennung



qayqay1
12.03.2014, 14:30
hallo, ich baue einen 3d sla drucker. der laser bestrahlt von unten eine Glasplatte auf der sich harz befindet, das bei laserstrahleinwirkung polymerisiert. der laserstrahl wird von Galvanometern abgelenkt. diese galvos müssen sehr genau arbeiten und daher kalibriert werden, zb indem eine schwarze transluzide platte auf die Glasplatte gelegt wird und der laserstrahl sichtbar wird (schwarz-weiss-bild). zunächst wird der null/Nullpunkt eingestellt, dann ein Quadrat gezeichnet. hier wird die maximale projektionsgrösse ermittelt und erkannt, ob die Linien linear und parallel verlaufen und ob die ecken rechtwinklig ohne über/unterschiessen verlaufen. die galvo-Einstellung erfolgt über eine Software. das muss derzeit manuell erfolgen. wie nervig;-)

aufgabe: eine Kamera soll den laserstrahl oberhalb der Glasplatte verfolgen, eine Software soll das ist-bild mit dem soll-bild vergleichen, die notwendigen bildkorrekturen erkennen und den befehl geben, das jeweilige Register zur galvoansteuerung schrittweise zu verändern bis die bilder übereinstimmen.
monochrombild mit 255 bit helligkeitserfassung des strahls (zur laserpowereinstellung) reicht.

frage: da ich noch sprachenunabhängig suche: welche Programme kennt ihr, die man als Basis für diese aufgabe nutzen könnte?

jcrypter
12.03.2014, 14:55
Moin,

vielleicht ist opencv das richtige.
Ist kein fertiges Programm in dem Sinne aber als library ja schon sehr mächtig.

opencv.org

Grüße,
Crypi

WarLib
10.05.2014, 16:47
... vielleicht ist opencv das richtige.

Würde ich auch sagen, für diese Library gibt es auch viele gute Beispiele.
Für deine Anforderung wäre auch vielleicht eine einfache Kantenerkennung schon das richtige:

Canny Edge Detector (http://docs.opencv.org/doc/tutorials/imgproc/imgtrans/canny_detector/canny_detector.html#canny-detector)

Anonsten wäre vielleicht "Gamera" noch eine Option (Python-Library):
http://gamera.informatik.hsnr.de/

malthy
10.05.2014, 17:09
MATLAB mit Image Acquisition und Image Processing Toolbox ist ansonsten auch noch eine Alternative. Vorteil: ziemlich simpel in der Anwendung, Nachteile: teuer (wenn man nicht eine Studenten-/Privatlizenz verwenden kann); nicht so performant wie compilierter Code; braucht immer MATLAB als basale Plattform. Den genannten Vorteil sollte man trotz der Nachteile nicht unterschätzen ...

Sisor
10.05.2014, 19:22
vielleicht ist opencv das richtige.
Ist kein fertiges Programm in dem Sinne aber als library ja schon sehr mächtig.


+1
OpenCV kann das, ist kostenlos, sehr performant, es gibt viele Codebeispiele im Netz. Die Bibliothek ist in C++ geschrieben, zudem gibt es Adaptionen für die gängigen Programiersprachen und Plattformen.