Functions | |
cvbres_t | CreateConstantThresholdImage (IMG ImgIn, double Values[], TThresholdComparison Comparison, IMG &ImgOut) |
Calculates and applies a constant threshold to each plane of the input image. More... | |
cvbres_t | CreateDynamicThresholdImage (IMG ImgIn, long WindowSize, long Threshold, IMG &ImgOut) |
Performs dynamic thresholding on the input image. More... | |
cvbres_t | CreateDynamicThresholdImageEx (IMG ImgIn, TDynamicThresholdNorm Norm, long WindowSize, double Threshold, IMG &ImgOut) |
Generates a dynamic thresholdized image from an input image. The mask for threshold determination is defined through the MaskWidth parameter, threshold and thresholding mode are selectable. More... | |
cvbres_t | CreateImageThresholdImage (IMG ImgIn, IMG ImgThreshold, TThresholdComparison Comparison, IMG &ImgOut) |
Performs thresholding of an input image with pixel-by-pixel thresholds stored in the pixels of a threshold image. More... | |
cvbres_t | CreateTransparentThresholdImage (IMG ImgIn, double Thresholds[], double Values[], TThresholdComparison Comparison, IMG &ImgOut) |
Create an image where the pixel values of an input image are checked versus a threshold; if the values exceed that threshold under the specified TThresholdComparison, the pixel will be set to the corresponding value from the Values array. Otherwise it will contain the pixel value from the input image. More... | |
cvbres_t CreateConstantThresholdImage | ( | IMG | ImgIn, |
double | Values[], | ||
TThresholdComparison | Comparison, | ||
IMG & | ImgOut | ||
) |
Calculates and applies a constant threshold to each plane of the input image.
It generates a thresholded output image whose planes only have pixels that are either white or black. It is possible to supply a different threshold value for each plane, therefore the threshold is passed to the function as an array.
[in] | ImgIn | Handle of input image. |
[in] | Values | Array with the individual thresholds for each channel. The number of elements in this array needs to be at least the same as the number of planes in the image. Attention: Visual Basic users need to create an array and pass the first element in that array. |
[in] | Comparison | Comparison operation. See TThresholdComparison for possible methods. |
[out] | ImgOut | Image handle of result image. |
Performs dynamic thresholding on the input image.
Dynamic thresholding works such that for each pixel of the input image, the average gray-value over a mask with given size (centered around the pixel in question) is calculated. \n If the difference between this average and the pixel that is currently being looked at is above the specified threshold, then the corresponding pixel in the output image is set to white, otherwise it is black. \n\n This function is particularly useful when dealing with images that have a non-uniform illumination: <img class="ToDisplay" src="DynThreshTest.gif" align="left" alt="Dynamic Threshold Test"> \n\n\n\n\n\n\n\n\n\n\n
Normally it is possible to find a set of parameters (averaging window size and threshold), that yield approximately the same results for varying lighting situations. For example the image above binarized with a window size of 9 and a threshold of 10 look like this:
[in] | ImgIn | Handle of input image to be binarized. |
[in] | WindowSize | Size of the averaging window. The anchor of the averaging window is its center point. The images it is applied to will automatically be extended by repeating the last line or column of data. Window sizes need to be in the range of 3 to 511 and need to be odd (even input values will be decreased by 1). |
[in] | Threshold | Threshold value. See the description above on how it is being used. |
[out] | ImgOut | Image handle of result image. |
cvbres_t CreateDynamicThresholdImageEx | ( | IMG | ImgIn, |
TDynamicThresholdNorm | Norm, | ||
long | WindowSize, | ||
double | Threshold, | ||
IMG & | ImgOut | ||
) |
Generates a dynamic thresholdized image from an input image. The mask for threshold determination is defined through the MaskWidth parameter, threshold and thresholding mode are selectable.
[in] | ImgIn | - Image to be binarized |
[in] | WindowSize | - size of the convolution mask to be applied |
[in] | Norm | - Norm with which to calculate the dynamic threshold |
[in] | Threshold | - threshold value |
[out] | ImgOut | - Will hold the result image after operation |
cvbres_t CreateImageThresholdImage | ( | IMG | ImgIn, |
IMG | ImgThreshold, | ||
TThresholdComparison | Comparison, | ||
IMG & | ImgOut | ||
) |
Performs thresholding of an input image with pixel-by-pixel thresholds stored in the pixels of a threshold image.
Obviously, both images should be identical in size. However, if they are not, the smallest common rectangle (located at the top left pixel) of both images will be the size of the result image. Both input images should have identical dimensions (either 1 or three planes per image) and identical data-types.
[in] | ImgIn | Handle of input image. |
[in] | ImgThreshold | Handle of second input image containing the threshold values. |
[in] | Comparison | Comparison operation. See TThresholdComparison for possible methods. |
[out] | ImgOut | Image handle of result image. |
cvbres_t CreateTransparentThresholdImage | ( | IMG | ImgIn, |
double | Thresholds[], | ||
double | Values[], | ||
TThresholdComparison | Comparison, | ||
IMG & | ImgOut | ||
) |
Create an image where the pixel values of an input image are checked versus a threshold; if the values exceed that threshold under the specified TThresholdComparison, the pixel will be set to the corresponding value from the Values array. Otherwise it will contain the pixel value from the input image.
It is possible to supply a different thresholds and values for each plane, therefore the thresholds and values are passed to the function as an array.
If float images are used which contain infinite Values and NaNs these values are handled as follows.
Infinite Values:
Infinite Values are handled as maximum negative or positive values. Because of this it depends on the threshold values and the comparison method if the infinite values are set to the target value. NaN:
NaNs are set to zero if TH_Less is used. If TH_Greater is used NaNs are not changed.
[in] | ImgIn | Handle of input image. |
[in] | Thresholds | Array with the individual thresholds for each channel. The number of elements in this array needs to be at least the same as the number of planes in the image. Attention: Visual Basic users need to create an array and pass the first element in that array. |
[in] | Values | Array with the individual target values for each channel. The number of elements in this array needs to be at least the same as the number of planes in the image. Attention: Visual Basic users need to create an array and pass the first element in that array. |
[in] | Comparison | Comparison operation. Supported are TH_Less and TH_Greater. See TThresholdComparison. |
[out] | ImgOut | Image handle of result image. |