L_MaxFilterBitmap (original) (raw)
Summary
Erodes dark objects by the specified amount.
Syntax
#include "l_bitmap.h"
L_LTIMGCOR_API L_INT L_MaxFilterBitmap(pBitmap, uDim, uFlags)
Parameters
pBITMAPHANDLE pBitmap
Pointer to the bitmap handle that references the bitmap to be affected.
L_UINT uDim
Dimensions of the neighborhood used for filtering (uDim x uDim), in pixels.
L_UINT32 uFlags
Reserved for future use. Must be 0.
Returns
Value | Meaning |
---|---|
SUCCESS | The function was successful. |
< 1 | An error occurred. Refer to Return Codes. |
Comments
This function can process the whole image or a region of the image.
This function supports 12 and 16-bit grayscale and 48 and 64-bit color images. Support for 12 and 16-bit grayscale and 48 and 64-bit color images is available in the Document and Medical Imaging toolkits.
The effect can be controlled by specifying the size of the neighborhood that is used for calculating each pixel value. For example, for 8x8, pass 8 in the uDim
parameter. Each pixel is replaced with the maximum value of its neighborhood.
This function does not support 32-bit grayscale images. It returns the error code ERROR_GRAY32_UNSUPPORTED if a 32-bit grayscale image is passed to this function.
Maximum Function - Before
Maximum Function - After
View additional platform support for this Maximum function.
Required DLLs and Libraries
- LTIMGCOR
- For a listing of the exact DLLs and Libraries needed, based on the toolkit version, refer to Files To Be Included With Your Application.
Platforms
Win32, x64, Linux.
See Also
Functions
- L_AddBitmapNoise
- L_SharpenBitmap
- L_PosterizeBitmap
- L_MosaicBitmap
- L_EmbossBitmap
- L_AverageFilterBitmap
- L_MedianFilterBitmap
- L_IntensityDetectBitmap
- L_SpatialFilterBitmap
- L_BinaryFilterBitmap
- L_MinFilterBitmap
- L_OilifyBitmap
- L_SolarizeBitmap
- L_DlgMaxFilter
- L_WindowLevel
- L_HolesRemovalBitmapRgn
- L_FragmentBitmap
- L_HighPassFilterBitmap
- L_UnsharpMaskBitmap
Topics
Example
This example loads a bitmap and applies a max filter to it.
L_INT MaxFilterBitmapExample(L_VOID)
{
L_INT nRet;
BITMAPHANDLE LeadBitmap; /* Bitmap handle to hold the loaded image. */
/* Load the bitmap, keeping the bits per pixel of the file */
nRet = L_LoadBitmap(MAKE_IMAGE_PATH(TEXT("IMAGE1.CMP")), &LeadBitmap, sizeof(BITMAPHANDLE), 0, ORDER_BGR, NULL, NULL);
if (nRet != SUCCESS)
return nRet;
/* apply max filter */
nRet = L_MaxFilterBitmap(&LeadBitmap, 3, 0);
if (nRet != SUCCESS)
return nRet;
nRet = L_SaveBitmap(MAKE_IMAGE_PATH(TEXT("Result.BMP")), &LeadBitmap, FILE_BMP, 24, 0, NULL);
if (nRet != SUCCESS)
return nRet;
//free bitmap
if (LeadBitmap.Flags.Allocated)
L_FreeBitmap(&LeadBitmap);
return SUCCESS;
}
LEADTOOLS Raster Imaging C API Help