Name
projective_trans_image_sizeT_projective_trans_image_sizeProjectiveTransImageSizeprojective_trans_image_sizeProjectiveTransImageSizeProjectiveTransImageSize — Berechnen der projektive Transformation eines Bildes bei vorgegebener
Zielgröße.
Herror projective_trans_image_size(Hobject Image, Hobject* TransImage, const HTuple& HomMat2D, const HTuple& Interpolation, const HTuple& Width, const HTuple& Height, const HTuple& TransformDomain)
HImage HImage::ProjectiveTransImageSize(const HTuple& HomMat2D, const HTuple& Interpolation, const HTuple& Width, const HTuple& Height, const HTuple& TransformDomain) const
HImageArray HImageArray::ProjectiveTransImageSize(const HTuple& HomMat2D, const HTuple& Interpolation, const HTuple& Width, const HTuple& Height, const HTuple& TransformDomain) const
void ProjectiveTransImageSize(const HObject& Image, HObject* TransImage, const HTuple& HomMat2D, const HTuple& Interpolation, const HTuple& Width, const HTuple& Height, const HTuple& TransformDomain)
HImage HImage::ProjectiveTransImageSize(const HHomMat2D& HomMat2D, const HString& Interpolation, Hlong Width, Hlong Height, const HString& TransformDomain) const
HImage HImage::ProjectiveTransImageSize(const HHomMat2D& HomMat2D, const char* Interpolation, Hlong Width, Hlong Height, const char* TransformDomain) const
HImage HHomMat2D::ProjectiveTransImageSize(const HImage& Image, const HString& Interpolation, Hlong Width, Hlong Height, const HString& TransformDomain) const
HImage HHomMat2D::ProjectiveTransImageSize(const HImage& Image, const char* Interpolation, Hlong Width, Hlong Height, const char* TransformDomain) const
void HOperatorSetX.ProjectiveTransImageSize(
[in] IHUntypedObjectX* Image, [out] IHUntypedObjectX** TransImage, [in] VARIANT HomMat2d, [in] VARIANT Interpolation, [in] VARIANT Width, [in] VARIANT Height, [in] VARIANT TransformDomain)
IHImageX* HImageX.ProjectiveTransImageSize(
[in] IHHomMat2DX* HomMat2d, [in] BSTR Interpolation, [in] Hlong Width, [in] Hlong Height, [in] BSTR TransformDomain)
IHImageX* HHomMat2DX.ProjectiveTransImageSize(
[in] IHImageX* Image, [in] BSTR Interpolation, [in] Hlong Width, [in] Hlong Height, [in] BSTR TransformDomain)
static void HOperatorSet.ProjectiveTransImageSize(HObject image, out HObject transImage, HTuple homMat2D, HTuple interpolation, HTuple width, HTuple height, HTuple transformDomain)
HImage HImage.ProjectiveTransImageSize(HHomMat2D homMat2D, string interpolation, int width, int height, string transformDomain)
HImage HHomMat2D.ProjectiveTransImageSize(HImage image, string interpolation, int width, int height, string transformDomain)
projective_trans_image_sizeprojective_trans_image_sizeProjectiveTransImageSizeprojective_trans_image_sizeProjectiveTransImageSizeProjectiveTransImageSize wendet die durch die homogene
Transformationsmatrix HomMat2DHomMat2DHomMat2DHomMat2DHomMat2DhomMat2D beschriebene projektive
Transformation (Homographie) auf das Eingabebild ImageImageImageImageImageimage an
und speichert das Ergebnis in das Ausgabebild TransImageTransImageTransImageTransImageTransImagetransImage.
TransImageTransImageTransImageTransImageTransImagetransImage wird dabei auf die Zielgrösse
HeightHeightHeightHeightHeightheightxWidthWidthWidthWidthWidthwidth beschnitten. Ansonsten
entspricht der Operator der Alternative
projective_trans_imageprojective_trans_imageProjectiveTransImageprojective_trans_imageProjectiveTransImageProjectiveTransImage.
Der Transformation liegt das gleiche Koordinatensystem zugrunde, das
auch bei dem Operator affine_trans_pixelaffine_trans_pixelAffineTransPixelaffine_trans_pixelAffineTransPixelAffineTransPixel verwendet wird. Das
bedeutet, dass die Transformation nicht mit der
Transformationsmatrix HomMat2DHomMat2DHomMat2DHomMat2DHomMat2DhomMat2D, sondern mit einer
modifizierte Version davon durchgeführt wird. Eine Transformation
mit projective_trans_image_sizeprojective_trans_image_sizeProjectiveTransImageSizeprojective_trans_image_sizeProjectiveTransImageSizeProjectiveTransImageSize entspricht für jeden Punkt
(Row_i, Col_i)
des Bildes der folgenden
Kette von Transformationen (Ein- und Ausgabekoordinaten als homogene
Vektoren dargestellt):
Dies kann zu unerwarteten Ergebnissen führen, wenn die
Transformationsmatrix unter Verwendung von Koordinaten erstellt
wurde, die von dem Bild mit Operatoren wie
z.B. area_center_grayarea_center_grayAreaCenterGrayarea_center_grayAreaCenterGrayAreaCenterGray abgeleitet wurden. Wenn z.B. ein
rotationssymmetrisches Bild unter Verwendung von
hom_mat2d_rotatehom_mat2d_rotateHomMat2dRotatehom_mat2d_rotateHomMat2dRotateHomMat2dRotate um seinen mit area_center_grayarea_center_grayAreaCenterGrayarea_center_grayAreaCenterGrayAreaCenterGray
bestimmten Schwerpunkt rotiert wird, so liegt das transformierte
Bild nicht auf dem Originalbild. Dieser Effekt kann dadurch
kompensiert werden, dass vor dem Aufruf von
projective_trans_image_sizeprojective_trans_image_sizeProjectiveTransImageSizeprojective_trans_image_sizeProjectiveTransImageSizeProjectiveTransImageSize die Transformationsmatrix
HomMat2DHomMat2DHomMat2DHomMat2DHomMat2DhomMat2D durch die beiden folgenden Translationen
modifiziert wird:
hom_mat2d_translate(HomMat2D, 0.5, 0.5, HomMat2DTmp)
hom_mat2d_translate_local(HomMat2DTmp, -0.5, -0.5, HomMat2DAdapted)
projective_trans_image_size(Image, TransImage, HomMat2DAdapted,
'bilinear', Width, Height, 'false')
projective_trans_image_sizeprojective_trans_image_sizeProjectiveTransImageSizeprojective_trans_image_sizeProjectiveTransImageSizeProjectiveTransImageSize kann auf OpenCL Geräten ausgeführt
werden, wenn das Eingangsbild die maximale Größe für Bildobjekte des
ausgewählten Gerätes nicht überschreitet und der Parameter
TransformDomainTransformDomainTransformDomainTransformDomainTransformDomaintransformDomain auf 'false'"false""false""false""false""false" gesetzt wird. Das Ergebnis kann
dabei geringfühgig von dem auf der CPU berechneten abweichen.
- Unterstützt OpenCL Compute Devices.
- Multithreading-Typ: reentrant (läuft parallel zu nicht-exklusiven Operatoren).
- Multithreading-Bereich: global (kann von jedem Thread aufgerufen werden).
- Automatisch parallelisiert auf Tupelebene.
- Automatisch parallelisiert auf Kanalebene.
- Automatisch parallelisiert auf interner Datenebene.
Homogene projektive Transformationsmatrix.
Interpolationsmethode für die Transformation.
Defaultwert:
'bilinear'
"bilinear"
"bilinear"
"bilinear"
"bilinear"
"bilinear"
Werteliste: 'bilinear'"bilinear""bilinear""bilinear""bilinear""bilinear", 'nearest_neighbor'"nearest_neighbor""nearest_neighbor""nearest_neighbor""nearest_neighbor""nearest_neighbor"
Breite des Ausgabebildes.
Soll die Region des Eingabebildes auch
transformiert werden?
Defaultwert:
'false'
"false"
"false"
"false"
"false"
"false"
Werteliste: 'false'"false""false""false""false""false", 'true'"true""true""true""true""true"
Werteliste (für Compute Devices): 'false'"false""false""false""false""false"
vector_to_proj_hom_mat2dvector_to_proj_hom_mat2dVectorToProjHomMat2dvector_to_proj_hom_mat2dVectorToProjHomMat2dVectorToProjHomMat2d,
hom_vector_to_proj_hom_mat2dhom_vector_to_proj_hom_mat2dHomVectorToProjHomMat2dhom_vector_to_proj_hom_mat2dHomVectorToProjHomMat2dHomVectorToProjHomMat2d,
proj_match_points_ransacproj_match_points_ransacProjMatchPointsRansacproj_match_points_ransacProjMatchPointsRansacProjMatchPointsRansac,
proj_match_points_ransac_guidedproj_match_points_ransac_guidedProjMatchPointsRansacGuidedproj_match_points_ransac_guidedProjMatchPointsRansacGuidedProjMatchPointsRansacGuided,
hom_mat3d_projecthom_mat3d_projectHomMat3dProjecthom_mat3d_projectHomMat3dProjectHomMat3dProject
projective_trans_imageprojective_trans_imageProjectiveTransImageprojective_trans_imageProjectiveTransImageProjectiveTransImage,
projective_trans_contour_xldprojective_trans_contour_xldProjectiveTransContourXldprojective_trans_contour_xldProjectiveTransContourXldProjectiveTransContourXld,
projective_trans_regionprojective_trans_regionProjectiveTransRegionprojective_trans_regionProjectiveTransRegionProjectiveTransRegion,
projective_trans_point_2dprojective_trans_point_2dProjectiveTransPoint2dprojective_trans_point_2dProjectiveTransPoint2dProjectiveTransPoint2d,
projective_trans_pixelprojective_trans_pixelProjectiveTransPixelprojective_trans_pixelProjectiveTransPixelProjectiveTransPixel
Foundation