L_CLAHE

Summary

Adjusts the image contrast using the Contrast Limited Adaptive Histogram Equalizer (CLAHE) method, which uses several histograms each corresponding to a distinct section in the image while limiting the amplification of the noise in the image.

Syntax

#include "l_bitmap.h"

L_LTIMGCOR_API L_INT L_CLAHE(pBitmap0, Alpha, TileSize, nfclipLimit, nBinNumber, uFlags)

Parameters

BITMAPHANDLE * pBitmap0

Pointer to the bitmap handle that references the bitmap to be affected.

L_FLOAT Alpha

Non-negative real scalar specifying a distribution parameter.

L_UINT TileSize

Positive integer specifying the size of tiles ranging from 1 to 60.

L_FLOAT nfclipLimit

Real scalar in the range [0, 1] that specifies a contrast enhancement limit. Higher numbers result in more contrast.

L_UINT nBinNumber

Multiple of 2 integer in the range [2, 1024] that specifies the number of bins for the histogram used in building a contrast enhancing transformation.

L_UINT uFlags

Flags specifying the desired histogram shape for the image tiles. Possible values are:

Returns

Value Meaning
SUCCESS The function was successful.
<1 An error occurred. Refer to Return Codes.

Comments

This function supports 8 and 16-bit grayscale images.

Required DLLs and Libraries

Platforms

Win32, x64, Linux.

See Also

Topics

Example

This example loads a bitmap and applies an CLAHE filter.

L_INT CLAHEBitmapExample(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("DICOM\\IMAGE3.dcm")), &LeadBitmap, sizeof(BITMAPHANDLE), 0, ORDER_BGRORGRAY, NULL, NULL); 
   if (nRet != SUCCESS) 
      return nRet; 
 
   /* Apply a CLAHE filter */ 
   nRet = L_CLAHE(&LeadBitmap, 0.5f, 9, 0.04f, 512, CLAHE_RAYLIEH); 
   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; 
} 

Help Version 22.0.2023.7.11
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.

LEADTOOLS Raster Imaging C API Help
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.