imaging components logo  
 
   
 

Color Resolution - Image Processing with LEADTOOLS

 

Introduction: Color Resolution and Dithering

Color resolution (also called color depth) refers to the number of possible colors in an image, as determined by the bits-per-pixel. If an image in your computer is loaded from a FAX scanner or received as a FAX transmission, it is a black-and-white (1-bit) image. If it is loaded from a color scanner or a JPEG file, it can have 16 million colors. If it is loaded from a GIF file, it is likely to have 256 colors. There are many possibilities, ranging from two colors to 16 million.

LEADTOOLS lets you manipulate an image and display it on any Windows-compatible device, regardless of the image's color resolution. Therefore, in most cases you can load, display, modify, and save an image without ever changing its color resolution. Nevertheless, in some cases you may need to increase or decrease the color resolution. Here are some examples:

Suppose you need to load a large 24-bit image on a computer that does not have much memory. You can conserve memory by loading it as an 8-bit image. Then, if you were using an 8-bit display device, you would not see any difference in the quality of the image. Of course, there would be some loss of quality on a 24-bit display device, and the loss would be permanent if you then saved the image in the same file.

Suppose you want to save an image in a different file format. If the new file format does not support the original color resolution, you can specify a different color resolution when you save the image.

Suppose you want to combine one 8-bit image with another one. To combine two images, they must have the same color resolution, and if they are less than 16 bits per pixel, they must use the same palette. The simplest solution is to convert both images to 24 bits per pixel before combining them. Then, if necessary, you can reduce the color resolution of the combined image.

Whenever you reduce an image's color resolution to 8 bits per pixel or less, a dithering method comes into play. One alternative is to use a nearest-color match (no dithering), which means that the color of each pixel is changed to the palette color that most closely matches it. If the original image contains subtle color details, the result of a nearest-color match may have large blotches of color that are not very pleasing.

Dithering methods create the appearance of more subtle shades by mixing in pixels of different colors. This is similar to the way newspaper pictures produce the appearance of shades of gray, even though the only actual colors are black and white.

Ordered dithering is the fastest method. It is the default dithering method when painting to a display device that is 256 colors or less. Ordered dithering takes advantage of the fact that the colors in most palettes are ordered so that similar shades are next to each other in the palette. This method avoids blotches of color by adding to or subtracting from the nearest-color value of each pixel to ensure that adjacent pixels do not have exactly the same color. (If the colors in the palette are not ordered, the results are not good.)

All of the other dithering methods in LEADTOOLS use error-diffusion algorithms. In error diffusion, the error is the difference between the original pixel color and the nearest match, and diffusion of this error is what the algorithm accomplishes. Floyd-Steinberg is a high-quality, fast error-diffusion method. It is the default method that LEADTOOLS uses if you reduce the color resolution when loading or saving an image, or if you specify error diffusion as the dithering method when painting to a display device that is 256 colors or less.

If you use a LEADTOOLS function to change the color resolution of a bitmap in memory, you can choose from a list of possible dithering methods. All of the alternative error-diffusion methods are slower than Floyd-Steinberg, and the quality may or may not be better, depending on the original image, and depending on whether the resulting image is to be displayed or printed. Choosing an alternative dithering method is a subjective, trial-and-error decision. Stevenson and Arce dithering, the slowest of the alternatives, is most likely to produce a higher quality result.

LEADTOOLS SDKs allow developers to add extensive color conversion support to their applications quickly and easily. LEADTOOLS includes functions with many options that give you the flexibility to make your images look as good as possible. Whether you are working with medical images, scanned documents or digital photographs, LEADTOOLS can help you provide the correct color depth for the hardware your clients are using.

 

Programming Interfaces

.NET Components
Silverlight Image Component
WCF Image Component
WF Image Component
WPF Imaging Component
DLL Components
Class Library Controls
ActiveX Interface
COM Components
VCL Components

Programming SDK

Imaging SDK
Raster Imaging SDK
Document Imaging SDK
Recognition Imaging SDK
Medical Imaging SDK
PACS Imaging SDK
Multimedia Imaging SDK
Vector Imaging SDK

Programming Languages

.NET Programming
C/C++ Programming
Visual Basic
Delphi Programming

Imaging Components

Barcode
Bitonal Imaging
Imaging Components Benefits
Best Compression Options
Forms Recognition
Image Annotation
Audio Compression
Image Compression
Document Clean-up
File Format
Image Processing
Video Compression
OCR/ICR/OMR
PDF
TWAIN Scanning

Imaging-Components.com promotes the use of LEADTOOLS® "third-party" imaging software components.
The site helps decision makers obtain information related to the benefits of using software components.

LEADTOOLS Sales: 704-332-5532 | sales@leadtools.com | LEADTOOLS Support: 704-372-9681 | support@leadtools.com