Dokumentation
Funktionen
Ver-/Entzerrungsfunktionen mit Rektifizierung

Funktionen


Dokumentation der Funktionen

int deRectifyDistCoords ( const MPTCamera cam,
const MPTMatrix3x3 rect,
const MPTPoint2d pointsUndistRect,
MPTPoint2d pointsDeRectDist,
int  pointCount 
)

Transformiert rektifizierte Koordinaten in das ursprüngliche Kamerakoordinaten.

Diese Funktion ist die Inverse zu undistRectifyCoords() und sinnvoll, um beispielsweise Zwischenergebnisse im originalen Kamerabild visualisieren zu lassen (dann müssen aber noch die mm in Pixel umgerechnet werden).

Einheit ist mm.

Parameter:
camKamera zu der die Koordinaten gehören. Wird zur Verzeichnungsberechnung benötigt.
rectRektifizierungsmatrix zur inversen Transformation von rektifizierten in ideale Kamerakoordinaten. Es wird die originale Rektifizierungsmatrix benötigt.
pointsUndistRectEntzerrte und rektifizierte Quellkoordinaten, Einheit ist mm.
pointsDeRectDistVerzeichnete Zielkoordinaten. Kann mit pointsUndistRect identisch sein, dann wird die Eingabe überschrieben.
pointCountAnzahl der Koordinaten
Rückgabe:
Immer MPT_NO_ERROR.
Siehe auch:
undistRectifyCoords(), deRectifyDistPixels(), deRectifyDistImage()
int deRectifyDistImage ( const MPTCamera cam,
const MPTMatrix3x3 rect,
const MPTImage imgUndistRect,
MPTImage imgDeRectDist 
)

Derektifiziert und Verzert ein Kamerabild.

Dies ist die inverse Funktion zu undistRectifyImage(). Sie ist zur Kontrolle von Zwischenergebnissen gedacht.

Parameter:
camKamera, von der das ursprüngliche Bild stammt.
rectZugehörige Rektifizierungsmatrix.
imgUndistRectEntzerrtes und rektifiziertes Kamerabild. Muss ein Graustufenbild sein.
imgDeRectDistErgebnisbild, entspricht der Originalen Kameraaufnahme (außer Randbereiche). Darf nicht mit imgDeRectDist identisch sein, da die Eingabe nicht überschrieben werden kann.
Rückgabewerte:
MPT_NO_ERRORwenn kein Fehler auftrat.
MPT_ERR_IMAGE_GRAY_EXPECTEDwenn das Quellbild nicht im Graustufenformat vorliegt
MPT_ERR_IMAGE_TYPE_MISMATCHwenn das Zielbild nicht im Graustufenformat vorliegt
MPT_ERR_IMAGE_DIM_MISMATCHwenn die Auflösungen von Quell- und Zielbild nicht identisch sind.
int deRectifyDistPixels ( const MPTCamera cam,
const MPTMatrix3x3 rect,
const MPTPoint2d pixelsUndistRect,
MPTPoint2d pixelsDeRectDist,
int  pixelCount 
)

Transformiert rektifizierte Pixel in das ursprüngliche Kamerabild.

Äquivalent zu deRectifyDistCoords(), jedoch ist die Einheit Pixel. Soll ein ganzes Bild transformiert werden, dann sollte deRectifyDistImage() verwendet werden.

Parameter:
camKamera zu der die Pixel gehören. Wird zur Verzeichnungsberechnung benötigt.
rectRektifizierungsmatrix zur inversen Transformation von rektifizierten in ideale Pixel. Es wird die originale Rektifizierungsmatrix benötigt.
pixelsUndistRectEntzerrte und rektifizierte Quellpixel.
pixelsDeRectDistVerzeichnete Zielpixel. Kann mit pixelsUndistRect identisch sein, dann wird die Eingabe überschrieben.
pixelCountAnzahl der Pixel.
Rückgabe:
Immer MPT_NO_ERROR.
Siehe auch:
undistRectifyPixels(), deRectifyDistImage()
int undistRectifyCoords ( const MPTCamera cam,
const MPTMatrix3x3 rect,
const MPTPoint2d pointsDeRectDist,
MPTPoint2d pointsUndistRect,
int  pointCount 
)

Entzerrt und rektifiziert Koordinaten in einem Schritt.

Arbeitet identisch zu undistRectifyPixels(), jedoch ist die Einheit mm.

Parameter:
camKamera zu der die Koordinaten gehören. Wird zur Verzeichnungskorrektur benötigt.
rectRektifizierungsmatrix zur Transformation von idealen in rektifizierte Kamerakoordinaten.
pointsDeRectDistVerzeichnete Quellkoordinaten, Einheit ist mm.
pointsUndistRectEntzerrte und rektifizierte Ergebniskoordinaten. Kann mit pointsDeRectDist identisch sein, dann wird die Eingabe überschrieben.
pointCountAnzahl der Koordinaten
Rückgabe:
Immer MPT_NO_ERROR
Siehe auch:
undistRectifyPixels(), calcRectification(), undistortCoords(), rectifyCoords()
int undistRectifyImage ( const MPTCamera cam,
const MPTMatrix3x3 rect,
const MPTImage imgDeRectDist,
MPTImage imgUndistRect 
)

Entzerrt und rektifiziert ein Kamerabild.

Dies ist die einfache Variante um von einer Kameraaufnahme zu einer rektifizierten Aufnahme zu kommen. Für die wiederholte Anwendung sollte ein MPTRektifier-Objekt verwendet werden.

Parameter:
camKamera, von der das Bild stammt.
rectZugehörige Rektifizierungsmatrix.
imgDeRectDistOriginalbild der Kamera. Muss ein Graustufenbild sein.
imgUndistRectEntzerrtes und rektifiziertes Kamerabild. Darf nicht mit imgDeRectDist identisch sein, da die Eingabe nicht überschrieben werden kann.
Rückgabewerte:
MPT_NO_ERRORwenn kein Fehler auftrat.
MPT_ERR_IMAGE_GRAY_EXPECTEDwenn das Quellbild nicht im Graustufenformat vorliegt
MPT_ERR_IMAGE_TYPE_MISMATCHwenn das Zielbild nicht im Graustufenformat vorliegt
MPT_ERR_IMAGE_DIM_MISMATCHwenn die Auflösungen von Quell- und Zielbild nicht identisch sind.
Siehe auch:
createRectifier(), undistRectifyPixels(), calcRectification()
int undistRectifyPixels ( const MPTCamera cam,
const MPTMatrix3x3 rect,
const MPTPoint2d pixelsDeRectDist,
MPTPoint2d pixelsUndistRect,
int  pixelCount 
)

Entzerrt und rektifiziert Pixel in einem Schritt.

Dies ist die schnelle Rektifizierung von Pixeln. In dieser Funktion werden Pixelkoordinaten zuerst entzerrt (radialsymetrische Verzeichnung der Kamera) und anschließend per Rektifizierungs-Matrix in rektifizierte Koordinaten umgerechnet. D.h. mit dieser Funktion können direkt Bildpixel aus dem Kamerabild rektifiziert werden. Die Einheit ist Pixel.

Diese Funktion sollte mit einer größeren Anzahl von Punkten aufgerufen werden, da der konstante Faktor zur Initialisierung in dieser Funktion recht hoch ist.

Parameter:
camKamera zu der die Pixel gehören. Wird zur Verzeichnungskorrektur benötigt.
rectRektifizierungsmatrix zur Transformation von idealen in rektifizierte Pixel.
pixelsDeRectDistVerzeichnete Quellpixel
pixelsUndistRectEntzerrte und rektifizierte Ergebnispixel. Kann mit pixelsDeRectDist identisch sein, dann wird die Eingabe überschrieben.
pixelCountAnzahl der Pixel
Rückgabe:
Immer MPT_NO_ERROR
Zu beachten:
Ist ein ganzes Bild (wiederholt) zu entzerren und zu rektifizieren, dann sollte ein MPTRectifier - Objekt verwendet werden.
Siehe auch:
createRectifier(), calcRectification(), undistortPixels(), rectifyPixels()


Copyright © 2012 Fraunhofer IFF
Version 1.0