EasyImage::Register
Registers an image by realigning one, two or three pivot points to reference positions.
Namespace: Euresys::Open_eVision
[C++]
void Register(
EROIBW8* sourceImage,
EROIBW8* destinationImage,
float sourceImagePivot0X,
float sourceImagePivot0Y,
float destinationImagePivot0X,
float destinationImagePivot0Y,
int interpolationBits
)
void Register(
EROIBW16* sourceImage,
EROIBW16* destinationImage,
float sourceImagePivot0X,
float sourceImagePivot0Y,
float destinationImagePivot0X,
float destinationImagePivot0Y,
int interpolationBits
)
void Register(
EROIC24* sourceImage,
EROIC24* destinationImage,
float sourceImagePivot0X,
float sourceImagePivot0Y,
float destinationImagePivot0X,
float destinationImagePivot0Y,
int interpolationBits
)
void Register(
EROIBW8* sourceImage,
EROIBW8* destinationImage,
float sourceImagePivot0X,
float sourceImagePivot0Y,
float sourceImagePivot1X,
float sourceImagePivot1Y,
float destinationImagePivot0X,
float destinationImagePivot0Y,
float destinationImagePivot1X,
float destinationImagePivot1Y,
int interpolationBits,
bool resize
)
void Register(
EROIBW16* sourceImage,
EROIBW16* destinationImage,
float sourceImagePivot0X,
float sourceImagePivot0Y,
float sourceImagePivot1X,
float sourceImagePivot1Y,
float destinationImagePivot0X,
float destinationImagePivot0Y,
float destinationImagePivot1X,
float destinationImagePivot1Y,
int interpolationBits,
bool resize
)
void Register(
EROIC24* sourceImage,
EROIC24* destinationImage,
float sourceImagePivot0X,
float sourceImagePivot0Y,
float sourceImagePivot1X,
float sourceImagePivot1Y,
float destinationImagePivot0X,
float destinationImagePivot0Y,
float destinationImagePivot1X,
float destinationImagePivot1Y,
int interpolationBits,
bool resize
)
void Register(
EROIBW8* sourceImage,
EROIBW8* destinationImage,
float sourceImagePivot0X,
float sourceImagePivot0Y,
float sourceImagePivot1X,
float sourceImagePivot1Y,
float sourceImagePivot2X,
float sourceImagePivot2Y,
float destinationImagePivot0X,
float destinationImagePivot0Y,
float destinationImagePivot1X,
float destinationImagePivot1Y,
float destinationImagePivot2X,
float destinationImagePivot2Y,
int interpolationBits
)
void Register(
EROIBW16* sourceImage,
EROIBW16* destinationImage,
float sourceImagePivot0X,
float sourceImagePivot0Y,
float sourceImagePivot1X,
float sourceImagePivot1Y,
float sourceImagePivot2X,
float sourceImagePivot2Y,
float destinationImagePivot0X,
float destinationImagePivot0Y,
float destinationImagePivot1X,
float destinationImagePivot1Y,
float destinationImagePivot2X,
float destinationImagePivot2Y,
int interpolationBits
)
void Register(
EROIC24* sourceImage,
EROIC24* destinationImage,
float sourceImagePivot0X,
float sourceImagePivot0Y,
float sourceImagePivot1X,
float sourceImagePivot1Y,
float sourceImagePivot2X,
float sourceImagePivot2Y,
float destinationImagePivot0X,
float destinationImagePivot0Y,
float destinationImagePivot1X,
float destinationImagePivot1Y,
float destinationImagePivot2X,
float destinationImagePivot2Y,
int interpolationBits
)
Parameters
sourceImage
Pointer to the source image/ROI.
destinationImage
Pointer to the destination image/ROI. May not be the same as the source image.
sourceImagePivot0X
First pivot point abscissa in the source image.
sourceImagePivot0Y
First pivot point ordinate in the source image.
destinationImagePivot0X
First pivot point abscissa in the destination image.
destinationImagePivot0Y
First pivot point ordinate in the destination image.
interpolationBits
Number of bits of accuracy for interpolation. Allowed values are
sourceImagePivot1X
Second pivot point abscissa in the source image.
sourceImagePivot1Y
Second pivot point ordinate in the source image.
destinationImagePivot1X
Second pivot point abscissa in the destination image.
destinationImagePivot1Y
Second pivot point ordinate in the destination image.
resize
sourceImagePivot2X
Third pivot point abscissa in the source image.
sourceImagePivot2Y
Third pivot point ordinate in the source image.
destinationImagePivot2X
Third pivot point abscissa in the destination image.
destinationImagePivot2Y
Third pivot point ordinate in the destination image.
Remarks
Out-of-image-bounds pixels are black.
Registration is the process of realigning two misaligned images so that point-to-point comparisons are possible. The simplest way to achieve this is to accurately locate features in both images (landmarks or pivots), using pattern matching, point measurement or whatever other technique, and realign one of the images so that the landmarks are superimposed.
* When a single pivot point is used, the registration transform is a simple translation. If interpolation bits are used, sub-pixel translation is achieved.
* When two pivot points are used, the registration is a combination of translation, rotation and optionally scaling. If scaling is not allowed, the second pivot point will not be matched exactly in general. Anyway, for most applications scaling should not be used unless it corresponds to a change of lens magnification or viewing distance.
* When three pivot points are used, the registration is a combination of translation, rotation, shearing correction and optionally scaling. The so-called shear effect can arise when acquiring images with a misaligned line-scan camera.
To achieve good accuracy, the pivot points should be chosen as far apart as possible.
EasyImage.Register
Registers an image by realigning one, two or three pivot points to reference positions.
Namespace: Euresys.Open_eVision
[C#]
void Register(
Euresys.Open_eVision.EROIBW8 sourceImage,
Euresys.Open_eVision.EROIBW8 destinationImage,
float sourceImagePivot0X,
float sourceImagePivot0Y,
float destinationImagePivot0X,
float destinationImagePivot0Y,
int interpolationBits
)
void Register(
Euresys.Open_eVision.EROIBW16 sourceImage,
Euresys.Open_eVision.EROIBW16 destinationImage,
float sourceImagePivot0X,
float sourceImagePivot0Y,
float destinationImagePivot0X,
float destinationImagePivot0Y,
int interpolationBits
)
void Register(
Euresys.Open_eVision.EROIC24 sourceImage,
Euresys.Open_eVision.EROIC24 destinationImage,
float sourceImagePivot0X,
float sourceImagePivot0Y,
float destinationImagePivot0X,
float destinationImagePivot0Y,
int interpolationBits
)
void Register(
Euresys.Open_eVision.EROIBW8 sourceImage,
Euresys.Open_eVision.EROIBW8 destinationImage,
float sourceImagePivot0X,
float sourceImagePivot0Y,
float sourceImagePivot1X,
float sourceImagePivot1Y,
float destinationImagePivot0X,
float destinationImagePivot0Y,
float destinationImagePivot1X,
float destinationImagePivot1Y,
int interpolationBits,
bool resize
)
void Register(
Euresys.Open_eVision.EROIBW16 sourceImage,
Euresys.Open_eVision.EROIBW16 destinationImage,
float sourceImagePivot0X,
float sourceImagePivot0Y,
float sourceImagePivot1X,
float sourceImagePivot1Y,
float destinationImagePivot0X,
float destinationImagePivot0Y,
float destinationImagePivot1X,
float destinationImagePivot1Y,
int interpolationBits,
bool resize
)
void Register(
Euresys.Open_eVision.EROIC24 sourceImage,
Euresys.Open_eVision.EROIC24 destinationImage,
float sourceImagePivot0X,
float sourceImagePivot0Y,
float sourceImagePivot1X,
float sourceImagePivot1Y,
float destinationImagePivot0X,
float destinationImagePivot0Y,
float destinationImagePivot1X,
float destinationImagePivot1Y,
int interpolationBits,
bool resize
)
void Register(
Euresys.Open_eVision.EROIBW8 sourceImage,
Euresys.Open_eVision.EROIBW8 destinationImage,
float sourceImagePivot0X,
float sourceImagePivot0Y,
float sourceImagePivot1X,
float sourceImagePivot1Y,
float sourceImagePivot2X,
float sourceImagePivot2Y,
float destinationImagePivot0X,
float destinationImagePivot0Y,
float destinationImagePivot1X,
float destinationImagePivot1Y,
float destinationImagePivot2X,
float destinationImagePivot2Y,
int interpolationBits
)
void Register(
Euresys.Open_eVision.EROIBW16 sourceImage,
Euresys.Open_eVision.EROIBW16 destinationImage,
float sourceImagePivot0X,
float sourceImagePivot0Y,
float sourceImagePivot1X,
float sourceImagePivot1Y,
float sourceImagePivot2X,
float sourceImagePivot2Y,
float destinationImagePivot0X,
float destinationImagePivot0Y,
float destinationImagePivot1X,
float destinationImagePivot1Y,
float destinationImagePivot2X,
float destinationImagePivot2Y,
int interpolationBits
)
void Register(
Euresys.Open_eVision.EROIC24 sourceImage,
Euresys.Open_eVision.EROIC24 destinationImage,
float sourceImagePivot0X,
float sourceImagePivot0Y,
float sourceImagePivot1X,
float sourceImagePivot1Y,
float sourceImagePivot2X,
float sourceImagePivot2Y,
float destinationImagePivot0X,
float destinationImagePivot0Y,
float destinationImagePivot1X,
float destinationImagePivot1Y,
float destinationImagePivot2X,
float destinationImagePivot2Y,
int interpolationBits
)
Parameters
sourceImage
Pointer to the source image/ROI.
destinationImage
Pointer to the destination image/ROI. May not be the same as the source image.
sourceImagePivot0X
First pivot point abscissa in the source image.
sourceImagePivot0Y
First pivot point ordinate in the source image.
destinationImagePivot0X
First pivot point abscissa in the destination image.
destinationImagePivot0Y
First pivot point ordinate in the destination image.
interpolationBits
Number of bits of accuracy for interpolation. Allowed values are
sourceImagePivot1X
Second pivot point abscissa in the source image.
sourceImagePivot1Y
Second pivot point ordinate in the source image.
destinationImagePivot1X
Second pivot point abscissa in the destination image.
destinationImagePivot1Y
Second pivot point ordinate in the destination image.
resize
sourceImagePivot2X
Third pivot point abscissa in the source image.
sourceImagePivot2Y
Third pivot point ordinate in the source image.
destinationImagePivot2X
Third pivot point abscissa in the destination image.
destinationImagePivot2Y
Third pivot point ordinate in the destination image.
Remarks
Out-of-image-bounds pixels are black.
Registration is the process of realigning two misaligned images so that point-to-point comparisons are possible. The simplest way to achieve this is to accurately locate features in both images (landmarks or pivots), using pattern matching, point measurement or whatever other technique, and realign one of the images so that the landmarks are superimposed.
* When a single pivot point is used, the registration transform is a simple translation. If interpolation bits are used, sub-pixel translation is achieved.
* When two pivot points are used, the registration is a combination of translation, rotation and optionally scaling. If scaling is not allowed, the second pivot point will not be matched exactly in general. Anyway, for most applications scaling should not be used unless it corresponds to a change of lens magnification or viewing distance.
* When three pivot points are used, the registration is a combination of translation, rotation, shearing correction and optionally scaling. The so-called shear effect can arise when acquiring images with a misaligned line-scan camera.
To achieve good accuracy, the pivot points should be chosen as far apart as possible.