L_MedianFilterBitmap is an effective general function for removing salt-and-pepper noise from any kind of image. You control the strength of the function by specifying the size of the neighborhood (the surrounding pixels used for calculating the median value). This function causes minimal blurring of the image.
The L_AverageFilterBitmap function can be used to remove uniform and Gaussian noise, but there is more blurring of the image than with the median filter. You control the strength of the function by specifying the size of the neighborhood (the surrounding pixels used for calculating the arithmetic mean).
The L_AddBitmaps function can be used to average the bitmaps in a list, eliminating random noise contained in the images.
The L_AddWeightedBitmaps function can be used to average the bitmaps in a list, eliminating random noise contained in the images. Typically, you would call this function for a series of images taken for the same object at short intervals. This function can eliminate random noise by performing a weighted average.
The L_AnisotropicDiffusionBitmap function applies a 2D anisotropic diffusion filter to an image to reduce patterned as well as non-patterned noise.
The L_HighPassFilterBitmap function removes low frequency details in a bitmap, resulting in a sharpened image. The effect is opposite to that of the Gaussian Blur filter (L_GaussianFilterBitmap). Unlike the L_UnsharpMaskBitmap function, when using this function image noise is not increased.
The L_GaussianFilterBitmap function smooths or blurs an image by applying a Gaussian filter to each pixel of the bitmap. The amount of blur is determined by the size of the neighborhood used by the function.
The L_SRADAnisotropicDiffusion function reduces noise and speckling in images while preserving the edges.
The L_TADAnisotropicDiffusion function is an iterative filter that performs Tensor-guided Anisotropic Diffusion (TAD) to reduce noise while preserving the edges of an image.
The L_AutoPageSplitter finds and splits a two-page document that has its pages horizontally side-by-side. It also converts it to a 1-bit image.
The L_DeinterlaceBitmap function deinterlaces video source images by removing the black lines. It proceeds by merging lines in the image together and/or blending them together.
The L_SignalToNoiseRatio function calculates the SNR as the 10*log10 of the real value. This value gives an indication of the homogeneity of adjacent pixels in an image.
The L_PerspectiveDeskew function detects and automatically deskews a 3D document image.
The L_SmoothEdgesBitmap function smoothes the edges of a bitmap.
The L_BlurDetection function determines whether an image is blurred and if it is, calculates the amount of blurring.
The L_ExpandPage function expands a page's content while maintaining the aspect ratio of the original size. It also converts it to a 1-bit image.
The L_GlareDetection function automatically finds the glare zone in an image. The result is applied to the image as a region.
The L_MICRDetection function searches the given zone for a MICR code. It does not support regions.
The L_MRZDetection function automatically detects a Machine-Readable passport Zone (MRZ) in a document image,
The L_DynamicBinaryBitmap function converts a bitmap into a black and white image without changing its bits per pixel.
The L_MeanShiftFilterBitmap function performs a detail preserving noise reduction.
The L_ManualPerspectiveDeskew function corrects the view perspective. To free allocated bitmap, L_FreeManualPerspectiveDeskewBitmap should be called.
The L_RemoveSaltPepperNoise function removes the black and white noise from 8-bit images.
(Document and Medical toolkits) The L_DespeckleBitmap function is designed specifically for removing specks from 1-bit images, such as FAX transmissions or scanned documents.
(Document and Medical toolkits) The L_TissueEqualizeBitmap function is designed specifically for performing equalization between soft tissue and hard tissue in X-ray images.
(Document and Medical toolkits) The L_SigmaFilterBitmap function blurs the image to reduce the noise, and maintains the edge information in the image so not to lose the image information.
(Document and Medical toolkits) The L_AnisotropicDiffusionBitmap function reduces noise in Images, while maintain almost all image features.
(Document and Medical toolkits) The binary filters (for erosion and dilation of black objects) can be used for noise removal. The L_BinaryFilterBitmap function applies directional binary filters. The L_MaxFilterBitmap and L_MinFilterBitmap functions let you control the neighborhood size for erosion or dilation. One noise removal technique with these functions is to create two copies of a bitmap, apply a dilation filter to one of them and an erosion filter to the other, then combine the two using L_CombineBitmap with the CB_OP_AVG (averaging) flag.
(Document and Medical toolkits) The L_AutoBinaryBitmap function transforms the bitmap into a binary image using a threshold calculated automatically based on statistical features of the bitmap. Best results are obtained with grayscale bitmaps.
Fourier Transforms
Fourier Transforms are useful in removing harmonic noise like:
Fourier Transforms are also useful in removing noise from video signals and CCDs.
Fourier transforms convert an image from one where intensity varies over space into one where the intensity varies with frequency. After an image has been described (transformed) as a series of frequencies and phase, that information can then be analyzed using a power spectrum. The power spectrum is a two-dimensional map that plots the frequency of pixel intensity values. Low frequencies lie close to the origin and high frequencies close to the edges. From the analysis suitable filters can be applied to remove those parts of the image that correspond to the noise in the image. The image can then be retransformed back into the original image, only without the noise.
A Discrete Fourier Transform is a Fourier transform that uses a series which has values that have both a real and an imaginary component. Discrete Fourier transforms reveal periodicities in the data as well as the relative strengths of those periodicities.
Discrete Fourier Transforms can take a long time to compute. To reduce computing time, Fast Fourier Transforms can be used, which reduce the number of computations from 2N2 to 2N Lg N. However, using a Fast Fourier Transform requires that the number of points in the series be a power of 2.
The following functions provide Fourier transform capabilities:
Allocates a FTARRAY structure large enough to hold Fourier Transform coefficients |
|
Computes the Discrete Fourier Transform of an image or the Inverse Discrete Fourier Transform, whichever is specified. |
|
Computes the Fast Fourier Transform of an image or the Inverse Fast Fourier Transform, whichever is specified. |
|
Frees the 2D storage array that was allocated by L_AllocFTArray. |
|
Converts the frequency harmonics amplitude or phase to a bitmap. It allows displaying the results of FFT and DFT as a bitmap. |
|
Filters the frequency harmonics according to the range rectangle. |
|
Creates a mask filter for use in removing specific frequency components from a bitmap. |
Raster .NET | C API | C++ Class Library | JavaScript HTML5
Document .NET | C API | C++ Class Library | JavaScript HTML5
Medical .NET | C API | C++ Class Library | JavaScript HTML5
Medical Web Viewer .NET