View
25
Download
0
Category
Preview:
Citation preview
Kameraanbindung
mit OpenCV
Projektpraktikum AR/VR
Raphael Baumeister
06.10.2010
Einleitung & Allgemeines
Open Source Bibliothek
Basierend auf Image Processing Library
Programmiersprache C++
Hohe Geschwindigkeit
Lizenzfrei für akademischen und kommerziellen
Einsatz
Breites Spektrum der Computervision (über 500
Funktionen)
06.10.20102 Kameraanbindung mit OpenCV
Einleitung & Allgemeines
Verwendet von: Microsoft, Google …
Verwendet für:
Bildverarbeitung(Filterung, Segmentierung,…)
Mensch-Maschine Interaktion
Objekt-Identifikation/-Verfolgung
Kontur-Verarbeitung
Ermittlung von Struktur aus Bewegung
Maschinelles Sehen von (mobilen) Robotern
06.10.20103 Kameraanbindung mit OpenCV
Kamera
Point Grey Firefly MV
Sensor: „global shutter“
Auflösung: 752x480 Pixel
Framerate: 61 FPS
Transferrate: 400 Mb/s
06.10.20104 Kameraanbindung mit OpenCV
Mögliche Anwendungen von OpenCV
Bewegungsanalyse:
Background Subtraction
Motion Templates
Geometrische Figuren erkennen:
Feature Detection
Umrisse analysieren:
Borgefoss
Strukturen analysieren:
Contour Processing, Geometry
06.10.20105 Kameraanbindung mit OpenCV
Mögliche Anwendungen von OpenCV
Direktes Lineares Transformationsverfahren
Kamerakalibrierung
Tracking von Gesichtern/Personen:
Camshift
Statistische Methoden
Image Statistics
Morphing-Algorithmen
06.10.20106 Kameraanbindung mit OpenCV
Aufbau der OpenCV Bibliothek
Anwendungsbeispiele, Demos etc.
highguieinfache,
plattformunabhängige
GUI-Funktionen
mlSammlung
(statistischer) Klassifikationsverfahren
cvGrundfunktionen
aus Bildverarbeitung
und Computervision
cvauxspezielle (z.T.
experimentelle) CV-
Funktionen
cxcoreBasisstrukturen und Basisoperationen
06.10.20107 Kameraanbindung mit OpenCV
Kameraanbindung & Kalibrierung
Der Mensch erkennt Objekte schnell
Computer „sieht“ nur Zahlen
2D Bilder einer 3D Welt
schwierig 3D Abbildung zu erstellen
„projective transform“ :
Weltkoordinaten Bildkoordinaten
06.10.20108 Kameraanbindung mit OpenCV
Kameraanbindung & Kalibrierung
Homogene 3D Weltkoordinaten [X,Y,Z,1]
extrinsische Parameter
Homogene 2D Projektionskoordinaten [x´,y´,1]
intrinsische Parameter
2D Pixelkoordinaten [x,y]
06.10.20109 Kameraanbindung mit OpenCV
Kameraanbindung & Kalibrierung
Raumposition messen
Passpunkte müssen bekannt sein (mind. 4)
Position im Bild messen
Neuermittlung bei Änderungen
OpenCV benutzt Schachbrettmuster
Ecken sind leicht zu finden
und zu verfolgen
06.10.201010 Kameraanbindung mit OpenCV
Kameraanbindung & Kalibrierung
06.10.201011 Kameraanbindung mit OpenCV
Videolink:
http://www.youtube.com/watch?v=DrXIQfQHFv
0
Kameraanbindung & Kalibrierung
Mehr Licht führt zur schnelleren Entwicklung
Störungen: Licht, Reflektionen,
Standpunktänderungen etc.
Lichtstrahl: Objekt Linse Bildwandler
06.10.201012 Kameraanbindung mit OpenCV
Kameraanbindung & Kalibrierung
Krümmung Fischaugeneffekt (radial distortion)
Linse nicht parallel tangential verzerrtes Bild
(tangential distortion)
06.10.201013 Kameraanbindung mit OpenCV
Kameraanbindung & Kalibrierung
Radiale Verzerrung:
Skaliert den Abstand des
Bildpunktes zum Fokus, dem
Zentrum der Verzerrung
Tangentiale Verzerrung:
Entsteht durch Dezentralisierung
der Linsen
Im Vergleich sehr gering
06.10.201014 Kameraanbindung mit OpenCV
Wichtige Methoden
cvCreateCameraCapture() (Kamera ansprechen)
cvCalibrateCamera2() (Ausrichtung auf eine
bekannte Struktur / identifizierbare Punkte)
cvSobel(), cvCanny()
cvPreCornerDetect(), cvFindContours()
(Konturen finden)
cvUpdateMotionHistory() (Tracking)
cvGoodFeaturesToTrack() (starke Eckpunkte im
Bild finden)
06.10.201015 Kameraanbindung mit OpenCV
Codebeispiel
#include <cv.h>
#include <highgui.h>
IplImage* m_img_3 = 0; // Header
int main()
{
m_img_3 = cvCreateImage(m_sz, IPL_DEPTH_8U,1);
iplColorToGray(m_img,m_img_2); // zu Graubild umwandeln
cvvNamedWindow("Fenster2", 1); // Fenster für Graubild
cvvShowImage ("Fenster2", m_img_2); // Graubild
cvCanny ( m_img_2, m_img_3, 0, 50, 5); // Canny-Operator
// lowThresh = 0
// highThresh = 50
// apertureSize = 5
cvvNamedWindow ( "Fenster3", 1);
cvvShowImage ( "Fenster3", m_img_3); // Bild anzeigen
}
Kantendetektion mit Canny-Operator
06.10.201016 Kameraanbindung mit OpenCV
Konturentest mit OpenCV
06.10.201017 Kameraanbindung mit OpenCV
Videolink:
http://www.youtube.com/watch?v=J2w_6wpOyRo
Vielen Dank für Eure Aufmerksamkeit!
06.10.201018 Kameraanbindung mit OpenCV
Tutorials & Beispiele
Offizielle Webseite ist:
http://www.intel.com/research/mrl/research/opencv/
Newsgroup: http://groups.yahoo.com/group/OpenCV
Download:OpenCV http://sourceforge.net/projects/opencvlibrary
Kamerakalibrierung:
http://www.vision.caltech.edu/bouguetj/calib_doc/
Webcam abfragen
http://www.online-tutorials.net/bildbearbeitung/webcam-mit-opencv-abfragen/sourcecodes-t-142-327.html
Prüfungsarbeit: „Grobbestimmung der Blickrichtung für eine Augenmaus als Benutzerinterface“ von Martin Schnurrenberger [Vorallem Projektablauf interessant]
06.10.201019 Kameraanbindung mit OpenCV
Quellen
Prüfungsarbeit: „Grobbestimmung der Blickrichtung für eine Augenmaus als Benutzerinterface“ von Martin Schnurrenberger
„Kamera Kalibrierung“ Hauptseminar Augmented Reality, TUM-Lehrstuhl Klinker / Navab
„Hand Gesture Recognition in Natural State Based on Rotation Invarlance and OpenCV Realization“, von Baoyun Zhang, Ruwei Yun und Huaqing Qui
Broschüre Fachseminar des Bachelorstudiengangs Medieninformatik bei Prof. Dr. Ulrich Schwanecke, Hochschule RheinMain Wiesbaden
Seminararbeit „Intel OpenCV“ von Gunther Sudra, Universität Karlsruhe
Learning OpenCV, Computer Vision with the OpenCV Library, Gary Bradski & Adrian Kaehler, O´Reilly Verlag 2008
06.10.201020 Kameraanbindung mit OpenCV
Quellen
Kamerabild:
http://www.ptgrey.com/products/fireflymv
Codebeispiel:
Seminararbeit „Intel OpenCV“ von Gunther Sudra, Universität Karlsruhe
Verzerrungsbild:http://upload.wikimedia.org/wikipedia/commons/thumb/c/ce/Geometrical_Aberration_de.svg/440px-Geometrical_Aberration_de.svg.png
Grafik Linse & Abbild:
http://www.puchner.org/Fotografie/technik/physik/abbildung.htm
Video zur Konturfindung: http://www.youtube.com/watch?v=J2w_6wpOyRo
Videos zur Kalibrierung:http://www.youtube.com/watch?v=bV-jAnQ-tvwhttp://www.youtube.com/watch?v=DrXIQfQHFv0
06.10.201021 Kameraanbindung mit OpenCV
Kameraanbindung & Kalibrierung
06.10.201022 Kameraanbindung mit OpenCV
Recommended