SubtractBackground Method (ILEADRasterProcess)
short SubtractBackground (ILEADRaster* pRaster, long lRollingBall, ShrinkConstants ShrinkSize, long lBrightnessFactor, long lFlags) | |
Overview |
Refer to Changing Brightness and Contrast |
Remarks
(Raster Pro and above toolkits) Removes the background from the image.
This method is useful, especially with medical images and grayscale bitmaps in correcting non-uniform brightness.
The rolling ball algorithm works as follows:
1. |
Consider the bitmap to be a 3-D surface and the z-axis to be the intensity of the image [The component V from the HSV color space]. |
2. |
Roll a 3-D ball beneath the surface so all the points of the ball are under the surface with one or more points of the ball tangent to the surface. |
3. |
The tangent points to the rolling ball are considered to be the background. |
Subtract the background from the original image.
The Rolling Ball Radius should be at least as large as the radius of the largest object in the image that is not part of the background to ensure the separation of the background from any objects.
A small radius allows the detection of small objects, whereas a larger radius will detect both small and large objects.
When subtracting the background, sometimes the result is dim. In such a case you can enhance the brightness after subtracting the background by using the lBrightness factor, which functions similar to Multiply method. Passing 100 for lBrightness leaves the brightness unchanged.
Support for 12 and 16-bit grayscale and 48 and 64-bit color images is available only in the Document/Medical toolkits.
This method does not support signed data images. It returns the error code ERROR_SIGNED_DATA_NOT_SUPPORTED if a signed data image is passed to this method.
See Also
Elements: |
AddShadow method, InitFourierTransformation method, HueSaturationIntensity method, ColorReplace method, MathFunction method, Segment method, UserFilter method |
Topics: |