EasyImage::Uniformize
Shading correction is the process of transforming the gray or color component values of an image, using one or two reference images or vectors.
Namespace: Euresys::Open_eVision_2_6
[C++]
void Uniformize(
EROIBW8* sourceImage,
EBW8 pixelReference,
EROIBW8* imageReference,
EROIBW8* destinationImage,
BOOL multiplicative
)
void Uniformize(
EROIBW16* sourceImage,
EBW16 pixelReference,
EROIBW16* imageReference,
EROIBW16* destinationImage,
BOOL multiplicative
)
void Uniformize(
EROIC24* sourceImage,
EC24 pixelReference,
EROIC24* imageReference,
EROIC24* destinationImage,
BOOL multiplicative
)
void Uniformize(
EROIBW8* sourceImage,
EBW8 pixelReference,
EBW8Vector* vectorOfPixelReference,
EROIBW8* destinationImage,
BOOL multiplicative
)
void Uniformize(
EROIBW16* sourceImage,
EBW16 pixelReference,
EBW16Vector* vectorOfPixelReference,
EROIBW16* destinationImage,
BOOL multiplicative
)
void Uniformize(
EROIC24* sourceImage,
EC24 pixelReference,
EC24Vector* vectorOfPixelReference,
EROIC24* destinationImage,
BOOL multiplicative
)
void Uniformize(
EROIBW8* sourceImage,
EBW8 pixelLightReference,
EROIBW8* imageLightReference,
EBW8 pixelDarkReference,
EROIBW8* imageDarkReference,
EROIBW8* destinationImage
)
void Uniformize(
EROIBW16* sourceImage,
EBW16 pixelLightReference,
EROIBW16* imageLightReference,
EBW16 pixelDarkReference,
EROIBW16* imageDarkReference,
EROIBW16* destinationImage
)
void Uniformize(
EROIC24* sourceImage,
EC24 pixelLightReference,
EROIC24* imageLightReference,
EC24 pixelDarkReference,
EROIC24* imageDarkReference,
EROIC24* destinationImage
)
void Uniformize(
EROIBW8* sourceImage,
EBW8 pixelLightReference,
EBW8Vector* vectorOfPixelLightReference,
EBW8 pixelDarkReference,
EBW8Vector* vectorOfPixelDarkReference,
EROIBW8* destinationImage
)
void Uniformize(
EROIBW16* sourceImage,
EBW16 pixelLightReference,
EBW16Vector* vectorOfPixelLightReference,
EBW16 pixelDarkReference,
EBW16Vector* vectorOfPixelDarkReference,
EROIBW16* destinationImage
)
void Uniformize(
EROIC24* sourceImage,
EC24 pixelLightReference,
EC24Vector* vectorOfPixelLightReference,
EC24 pixelDarkReference,
EC24Vector* vectorOfPixelDarkReference,
EROIC24* destinationImage
)
Parameters
sourceImage
Pointer to the source image/ROI.
pixelReference
Constant value to transform the reference image or vector into.
imageReference
Pointer to the reference source image/ROI or vector.
destinationImage
Pointer to the destination image/ROI.
multiplicative
vectorOfPixelReference
Constant value to transform the reference image or vector into.
pixelLightReference
Constant value to transform the light reference image or vector into.
imageLightReference
Pointer to the light reference source image/ROI or vector.
pixelDarkReference
Constant value to transform the dark reference image/ROI or vector into.
imageDarkReference
Pointer to the dark reference source image/ROI or vector.
vectorOfPixelLightReference
Constant value to transform the light reference image or vector into.
vectorOfPixelDarkReference
Constant value to transform the dark reference image/ROI or vector into.
Remarks
The intent is to compensate for non-uniform lighting or sensor response non-uniformity by providing images of the background with no foreground object present. In the case of area-scan cameras, the illumination can change anywhere in the field of view, requiring 2D compensation. In the case of line-scan cameras imaging moving parts, illumination remains constant across image rows. Only 1D compensation is required. In this case, the reference illumination is specified as a vector, which is replicated across all image rows. * When a single reference image is used, the transform is analog to an adaptive (space-variant) gain or offset (Gain * Intensity or Intensity + Offset); the transform lets the reference image(s) become a specified constant value, i.e. flat field illumination. * When two reference images are used, the transform is analog to adaptive gain and offset (Gain * Intensity + Offset); the transform let both reference images become specified constants, i.e. flat field illumination with a correct black reference.
Note. The reference image(s) should be chosen such that they contain no saturated pixel values (remain in the linear domain) and little (filtered out) noise.
EasyImage.Uniformize
Shading correction is the process of transforming the gray or color component values of an image, using one or two reference images or vectors.
Namespace: Euresys.Open_eVision_2_6
[C#]
void Uniformize(
Euresys.Open_eVision_2_6.EROIBW8 sourceImage,
Euresys.Open_eVision_2_6.EBW8 pixelReference,
Euresys.Open_eVision_2_6.EROIBW8 imageReference,
Euresys.Open_eVision_2_6.EROIBW8 destinationImage,
bool multiplicative
)
void Uniformize(
Euresys.Open_eVision_2_6.EROIBW16 sourceImage,
Euresys.Open_eVision_2_6.EBW16 pixelReference,
Euresys.Open_eVision_2_6.EROIBW16 imageReference,
Euresys.Open_eVision_2_6.EROIBW16 destinationImage,
bool multiplicative
)
void Uniformize(
Euresys.Open_eVision_2_6.EROIC24 sourceImage,
Euresys.Open_eVision_2_6.EC24 pixelReference,
Euresys.Open_eVision_2_6.EROIC24 imageReference,
Euresys.Open_eVision_2_6.EROIC24 destinationImage,
bool multiplicative
)
void Uniformize(
Euresys.Open_eVision_2_6.EROIBW8 sourceImage,
Euresys.Open_eVision_2_6.EBW8 pixelReference,
Euresys.Open_eVision_2_6.EBW8Vector vectorOfPixelReference,
Euresys.Open_eVision_2_6.EROIBW8 destinationImage,
bool multiplicative
)
void Uniformize(
Euresys.Open_eVision_2_6.EROIBW16 sourceImage,
Euresys.Open_eVision_2_6.EBW16 pixelReference,
Euresys.Open_eVision_2_6.EBW16Vector vectorOfPixelReference,
Euresys.Open_eVision_2_6.EROIBW16 destinationImage,
bool multiplicative
)
void Uniformize(
Euresys.Open_eVision_2_6.EROIC24 sourceImage,
Euresys.Open_eVision_2_6.EC24 pixelReference,
Euresys.Open_eVision_2_6.EC24Vector vectorOfPixelReference,
Euresys.Open_eVision_2_6.EROIC24 destinationImage,
bool multiplicative
)
void Uniformize(
Euresys.Open_eVision_2_6.EROIBW8 sourceImage,
Euresys.Open_eVision_2_6.EBW8 pixelLightReference,
Euresys.Open_eVision_2_6.EROIBW8 imageLightReference,
Euresys.Open_eVision_2_6.EBW8 pixelDarkReference,
Euresys.Open_eVision_2_6.EROIBW8 imageDarkReference,
Euresys.Open_eVision_2_6.EROIBW8 destinationImage
)
void Uniformize(
Euresys.Open_eVision_2_6.EROIBW16 sourceImage,
Euresys.Open_eVision_2_6.EBW16 pixelLightReference,
Euresys.Open_eVision_2_6.EROIBW16 imageLightReference,
Euresys.Open_eVision_2_6.EBW16 pixelDarkReference,
Euresys.Open_eVision_2_6.EROIBW16 imageDarkReference,
Euresys.Open_eVision_2_6.EROIBW16 destinationImage
)
void Uniformize(
Euresys.Open_eVision_2_6.EROIC24 sourceImage,
Euresys.Open_eVision_2_6.EC24 pixelLightReference,
Euresys.Open_eVision_2_6.EROIC24 imageLightReference,
Euresys.Open_eVision_2_6.EC24 pixelDarkReference,
Euresys.Open_eVision_2_6.EROIC24 imageDarkReference,
Euresys.Open_eVision_2_6.EROIC24 destinationImage
)
void Uniformize(
Euresys.Open_eVision_2_6.EROIBW8 sourceImage,
Euresys.Open_eVision_2_6.EBW8 pixelLightReference,
Euresys.Open_eVision_2_6.EBW8Vector vectorOfPixelLightReference,
Euresys.Open_eVision_2_6.EBW8 pixelDarkReference,
Euresys.Open_eVision_2_6.EBW8Vector vectorOfPixelDarkReference,
Euresys.Open_eVision_2_6.EROIBW8 destinationImage
)
void Uniformize(
Euresys.Open_eVision_2_6.EROIBW16 sourceImage,
Euresys.Open_eVision_2_6.EBW16 pixelLightReference,
Euresys.Open_eVision_2_6.EBW16Vector vectorOfPixelLightReference,
Euresys.Open_eVision_2_6.EBW16 pixelDarkReference,
Euresys.Open_eVision_2_6.EBW16Vector vectorOfPixelDarkReference,
Euresys.Open_eVision_2_6.EROIBW16 destinationImage
)
void Uniformize(
Euresys.Open_eVision_2_6.EROIC24 sourceImage,
Euresys.Open_eVision_2_6.EC24 pixelLightReference,
Euresys.Open_eVision_2_6.EC24Vector vectorOfPixelLightReference,
Euresys.Open_eVision_2_6.EC24 pixelDarkReference,
Euresys.Open_eVision_2_6.EC24Vector vectorOfPixelDarkReference,
Euresys.Open_eVision_2_6.EROIC24 destinationImage
)
Parameters
sourceImage
Pointer to the source image/ROI.
pixelReference
Constant value to transform the reference image or vector into.
imageReference
Pointer to the reference source image/ROI or vector.
destinationImage
Pointer to the destination image/ROI.
multiplicative
vectorOfPixelReference
Constant value to transform the reference image or vector into.
pixelLightReference
Constant value to transform the light reference image or vector into.
imageLightReference
Pointer to the light reference source image/ROI or vector.
pixelDarkReference
Constant value to transform the dark reference image/ROI or vector into.
imageDarkReference
Pointer to the dark reference source image/ROI or vector.
vectorOfPixelLightReference
Constant value to transform the light reference image or vector into.
vectorOfPixelDarkReference
Constant value to transform the dark reference image/ROI or vector into.
Remarks
The intent is to compensate for non-uniform lighting or sensor response non-uniformity by providing images of the background with no foreground object present. In the case of area-scan cameras, the illumination can change anywhere in the field of view, requiring 2D compensation. In the case of line-scan cameras imaging moving parts, illumination remains constant across image rows. Only 1D compensation is required. In this case, the reference illumination is specified as a vector, which is replicated across all image rows. * When a single reference image is used, the transform is analog to an adaptive (space-variant) gain or offset (Gain * Intensity or Intensity + Offset); the transform lets the reference image(s) become a specified constant value, i.e. flat field illumination. * When two reference images are used, the transform is analog to adaptive gain and offset (Gain * Intensity + Offset); the transform let both reference images become specified constants, i.e. flat field illumination with a correct black reference.
Note. The reference image(s) should be chosen such that they contain no saturated pixel values (remain in the linear domain) and little (filtered out) noise.