Image Processing
LEADTOOLS has over 60 image processing functions, some of which are typically found only in high performance end-user programs such as PhotoShop. The image processing functions are separated into four categories:
Transforms: LEADTOOLS transforms include resize, resample (interpolated resize), rotate (.01 degree), flip, invert, reverse, crop, underlay, shear, transpose, fill, auto deskew and combine bitmap (using your choice of mathematical and Boolean operations).
Filters: LEADTOOLS color filters include sharpen, blur, intensity, contrast, gamma correct, invert, hue and saturation, histogram equalize, emboss, mosaic, posterize, median, average, oilify, edge enhance, solarize, despeckle, and add noise. LEADTOOLS spatial filters (which can be pre-defined or user-defined) include gradient, laplacian, sobel, prewitt, shift and difference, line segment. LEADTOOLS binary filters include erosion, dilation, max and min.
Drawing: With the LEAD DeviceContext, LEADTOOLS gives you access to the bitmap surface, on which you can draw or paint using Microsoft Windows GDI functions (such as TextOut, BitBlt, Ellipse, and Rectangle).
Region of Interest: The LEADTOOLS region of interest makes it possible for you to process or paint only a specific portion of an image rather than the entire image. Regions can be comprised of any combination of rectangles, ellipses, rounded-rectangles, freehand shapes, polygons, transparent color and more.
Most of the LEADTOOLS functions that change the appearance of an image act on the bitmap (not just the display). This is an important distinction, because the changes become permanent when the bitmap is saved to a file.
To change the appearance of the image in a bitmap, you can do the following:
Define the bitmap as a display surface where you can use Windows graphics device interface (GDI) functions for drawing or adding text.
[Document/Medical only] Automatically straighten (deskew) a 1-bit image.
[Document/Medical only] Remove specks (despeckle) a 1-bit image.
Automatically trim a bitmap to remove blank space around the edges.
Rotate the image. (Angles can be precise to 100th of a degree.)
[Document/Medical only] Do fast rotation in 90-degree increments.
Shear the image in the fashion of a parallelogram. (Angles are precise to 100th of a degree.)
Change the orientation by flipping the image horizontally or vertically.
Adjust colors and intensities as follows:
Change brightness using a flat scale.
Change brightness using gamma correction.
Change contrast.
Stretch the range of intensities.
Remap intensities using a lookup table.
Invert colors.
Change hue and saturation.
Histogram equalize.
Fill with a specified color.
Get and put colors of individual pixels.
Apply the following kinds of conversions:
Halftone for display or printing.
Sharpen or blur.
Posterize, specifying the number of color planes.
Mosaic, specifying the tile size.
Emboss, specifying the lighting direction.
Soften an image using an average filter.
Reduce noise using a median filter.
Add noise in any or all color planes.
Apply an oil-painting effect.
Apply a solarization effect.
Apply filters to do the following:
Detect ranges of intensity.
Detect edges using gradient or Laplacian edge detection.
Detect lines using Sobel, Prewitt, shift and difference, or line segment detection.
[Document/Medical only] Apply morphological (binary) filters to erode or dilate black objects.
[DLL only] Implement your own spatial filters.
Combine images using boolean and arithmetic operators, and color masking. (This is useful for combining filtered images with originals.)
Combine two images so that one appears to be an underlying texture of the other.
Combine multiple images to create a new image that resembles the current image.
Use low-level functions to change parts of an image as follows:
Get and put rows of image data.
Get and put parts of rows.
Get and put the colors of individual pixels.
Process a region within a bitmap