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 0 (no interpolation, nearest neighbor), 4 (linear interpolation) or 8 (cubic interpolation).

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

true if scaling is allowed.

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 0 (no interpolation, nearest neighbor), 4 (linear interpolation) or 8 (cubic interpolation).

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

true if scaling is allowed.

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.