←Select platform

ColorizeGrayCommand Class

Summary
Colors an 8, 12 or 16-bit grayscale image. The class changes the color bits/pixel of the image from the specified formats into 24-bit RGB format.
Syntax
C#
Objective-C
C++/CLI
Java
Python
public class ColorizeGrayCommand : RasterCommand 
@interface LTColorizeGrayCommand : LTRasterCommand 
public class ColorizeGrayCommand 
    extends RasterCommand 
public ref class ColorizeGrayCommand : public RasterCommand   
class ColorizeGrayCommand(RasterCommand): 
Remarks

This class is available in the Imaging and above toolkits.

  • The class can be used as a visualization aid. More precisely, this class can be used to show variations in an image's intensity values.
  • This class colors the grayscale image (colorizes) by converting specified ranges of grayscale intensities into corresponding RGB values. Use the GrayColors property to set the intensity ranges and the RGB values.
  • Using this class you can show details that were never seen in the original image. In 12 and 16-bit grayscale images, only the 8 most significant bits are displayed, whereas the rest are discarded. So by coloring these discarded bits you can make them visible instead.
  • The class will allocate and store a 24-bit image in DestinationImage.
  • If you set the GrayColors property to null then the class colors the image automatically using an algorithm that generates unique output colors. The output image will contain 256 colors if the input image is 8-bit, 4096 colors if the input image is 12-bit and 65535 colors if the input image is 16-bit.
  • The sample below shows you how to color a 16-bit grayscale image using the GrayColors property.
  • In a 16-bit grayscale image, the lowest pixel value is 0 and the highest pixel value is 65535.
  • The colors from the input images will be colored as follows: Pixel intensities from 0 - 9999 will be Red. Pixel intensities from 10000 - 19999 will be Green. Pixel intensities from 20000 - 29999 will be Blue. Pixel intensities from 30000 - 39999 will be Cyan. Pixel intensities from 40000 - 49999 will be Magenta. Pixel intensities from 50000 - 65535 will be Yellow. (Note: the Threshold value is ignored for the last entry in the GrayColors array.)

  • For more information on filling the GrayColors array to obtain this result, refer to the example.

  • This class supports 8, 12 and 16-bit grayscale images only. Support for 12 and 16-bit grayscale images are available only in the Document/Medical toolkits. It also can process the whole image or a region of the image. If an image has a region, the effect is applied only to the region.
  • This command does not support 32-bit grayscale images.

For more information, refer to Grayscale Images.

Colorize Gray Function - Before

Colorize Gray Function - Before

Colorize Gray Function - After

Colorize Gray Function - After

View additional platform support for this Colorize Gray function.

Example

This example loads a 16-bit grayscale image and then colors it.

C#
Java
using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.ImageProcessing.Core; 
 
public void ColorizeGrayCommandExample() 
{ 
   // Load an image 
 
   RasterCodecs codecs = new RasterCodecs(); 
   codecs.ThrowExceptionsOnInvalidImages = true; 
 
   RasterImage image = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, @"ImageProcessingDemo\Beauty16.jpg")); 
 
   // Prepare the command 
   ColorizeGrayCommandData[] pGrayColors = new ColorizeGrayCommandData[6]; 
   for (int i = 0; i < 6; i++) 
      pGrayColors[i] = new ColorizeGrayCommandData(); 
   pGrayColors[0].Threshold = 9999; 
   pGrayColors[1].Threshold = 19999; 
   pGrayColors[2].Threshold = 29999; 
   pGrayColors[3].Threshold = 39999; 
   pGrayColors[4].Threshold = 49999; 
   pGrayColors[5].Threshold = 59999; 
 
   pGrayColors[0].Color = new RasterColor(255, 0, 0); 
   pGrayColors[1].Color = new RasterColor(0, 255, 0); 
   pGrayColors[2].Color = new RasterColor(0, 0, 255); 
   pGrayColors[3].Color = new RasterColor(0, 255, 255); 
   pGrayColors[4].Color = new RasterColor(255, 0, 255); 
   pGrayColors[5].Color = new RasterColor(255, 255, 0); 
 
   ColorizeGrayCommand command = new ColorizeGrayCommand(); 
   command.GrayColors = pGrayColors; 
   //Call the command 
   command.Run(image); 
 
   // Save the resulted image 
   codecs.Save(command.DestinationImage, Path.Combine(LEAD_VARS.ImagesDir, "ColorizeGrayResult.Bmp"), RasterImageFormat.Bmp, 24); 
 
} 
 
static class LEAD_VARS 
{ 
   public const string ImagesDir = @"C:\LEADTOOLS23\Resources\Images"; 
} 
 
import java.io.File; 
import java.io.IOException; 
 
import org.junit.*; 
import org.junit.runner.JUnitCore; 
import org.junit.runner.Result; 
import org.junit.runner.notification.Failure; 
import static org.junit.Assert.*; 
 
import leadtools.*; 
import leadtools.codecs.*; 
import leadtools.imageprocessing.core.*; 
 
 
public void colorizeGrayCommandExample() { 
 
   final String LEAD_VARS_IMAGES_DIR = "C:\\LEADTOOLS23\\Resources\\Images"; 
 
   // Load an image 
   RasterCodecs codecs = new RasterCodecs(); 
   codecs.setThrowExceptionsOnInvalidImages(true); 
 
   RasterImage image = codecs.load(combine(LEAD_VARS_IMAGES_DIR, "beauty16.jpg")); 
 
   // Prepare the command 
   ColorizeGrayCommandData[] pGrayColors = new ColorizeGrayCommandData[6]; 
   for (int index = 0; index < 6; index++) { 
      pGrayColors[index] = new ColorizeGrayCommandData(); 
   } 
   pGrayColors[0].setThreshold(9999); 
   pGrayColors[1].setThreshold(19999); 
   pGrayColors[2].setThreshold(29999); 
   pGrayColors[3].setThreshold(39999); 
   pGrayColors[4].setThreshold(49999); 
   pGrayColors[5].setThreshold(59999); 
 
   pGrayColors[0].setColor(new RasterColor(255, 0, 0)); 
   pGrayColors[1].setColor(new RasterColor(0, 255, 0)); 
   pGrayColors[2].setColor(new RasterColor(0, 0, 255)); 
   pGrayColors[3].setColor(new RasterColor(0, 255, 255)); 
   pGrayColors[4].setColor(new RasterColor(255, 0, 255)); 
   pGrayColors[5].setColor(new RasterColor(255, 255, 0)); 
 
   ColorizeGrayCommand command = new ColorizeGrayCommand(); 
   command.setGrayColors(pGrayColors); 
   // Call the command 
   command.run(image); 
 
   // Save the resulted image 
   codecs.save(command.getDestinationImage(), combine(LEAD_VARS_IMAGES_DIR, "ColorizeGrayResult.Bmp"), 
         RasterImageFormat.BMP, 24); 
 
   System.out.println("Command run and image saved to " + combine(LEAD_VARS_IMAGES_DIR, "ColorizeGrayResult.Bmp")); 
   assertTrue(new File(combine(LEAD_VARS_IMAGES_DIR, "ColorizeGrayResult.Bmp")).exists()); 
} 
Requirements

Target Platforms

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

Leadtools.ImageProcessing.Core Assembly

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