public GrayscaleCommand()
- (instancetype)init
public GrayscaleCommand()
public:
GrayscaleCommand();
__init__() # Default constructor
using Leadtools;
using Leadtools.Codecs;
using Leadtools.ImageProcessing;
public void GrayscaleCommandExample()
{
RasterCodecs codecs = new RasterCodecs();
string srcFileName = Path.Combine(LEAD_VARS.ImagesDir, "Image1.cmp");
string destFileName8 = Path.Combine(LEAD_VARS.ImagesDir, "Image1_grayscale8.jpg");
string destFileName12 = Path.Combine(LEAD_VARS.ImagesDir, "Image1_grayscale12.jpg");
string destFileName16 = Path.Combine(LEAD_VARS.ImagesDir, "Image1_grayscale16.jpg");
// Load the source image from disk as 24-bits/pixel
RasterImage image = codecs.Load(srcFileName, 24, CodecsLoadByteOrder.Bgr, 1, 1);
// Check the grayscale mode
Console.WriteLine("Grayscale mode of original image = {0}", image.GrayscaleMode);
// Convert to 8-bit grayscale
GrayscaleCommand command = new GrayscaleCommand();
command.BitsPerPixel = 8;
command.Run(image);
// Check the grayscale mode
Console.WriteLine("Grayscale mode after grayscale command with 8 bpp = {0}", image.GrayscaleMode);
// Save it to disk
codecs.Options.Jpeg.Save.QualityFactor = 2;
codecs.Save(image, destFileName8, RasterImageFormat.Jpeg, 8);
image.Dispose();
// Load the image again this time grayscale to 12-bits/pixel
image = codecs.Load(srcFileName, 24, CodecsLoadByteOrder.Bgr, 1, 1);
command.BitsPerPixel = 12;
command.Run(image);
Console.WriteLine("Grayscale mode after grayscale command with 12 bpp = {0}", image.GrayscaleMode);
codecs.Options.Jpeg.Save.QualityFactor = 2;
codecs.Save(image, destFileName12, RasterImageFormat.Jpeg, 12);
image.Dispose();
// Load the image again this time grayscale to 16-bits/pixel
image = codecs.Load(srcFileName, 24, CodecsLoadByteOrder.Bgr, 1, 1);
command.BitsPerPixel = 16;
command.Run(image);
Console.WriteLine("Grayscale mode after grayscale command with 16 bpp = {0}", image.GrayscaleMode);
// When saving 16-bit jpegs, you must use lossless quality factor
codecs.Options.Jpeg.Save.QualityFactor = 0;
codecs.Save(image, destFileName16, RasterImageFormat.Jpeg, 16);
image.Dispose();
// Clean Up
codecs.Dispose();
}
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.*;
public void grayscaleCommandExample() {
final String LEAD_VARS_IMAGES_DIR = "C:\\LEADTOOLS23\\Resources\\Images";
RasterCodecs codecs = new RasterCodecs();
String srcFileName = combine(LEAD_VARS_IMAGES_DIR, "rgsref.cmp");
String destFileName8 = combine(LEAD_VARS_IMAGES_DIR, "rgsref_grayscale8.jpg");
String destFileName12 = combine(LEAD_VARS_IMAGES_DIR, "rgsref_grayscale12.jpg");
String destFileName16 = combine(LEAD_VARS_IMAGES_DIR, "rgsref_grayscale16.jpg");
// Load the source image from disk as 24-bits/pixel
RasterImage image = codecs.load(srcFileName, 24, CodecsLoadByteOrder.BGR, 1, 1);
// Check the grayscale mode
System.out.printf("Grsyscale mode of original image = %s%n", image.getGrayscaleMode());
// Convert to 8-bit grayscale
GrayscaleCommand command = new GrayscaleCommand();
command.setBitsPerPixel(8);
command.run(image);
// Check the grayscale mode
System.out.printf("Grsyscale mode after grayscale command with 8 bpp = %s%n", image.getGrayscaleMode());
// Save it to disk
codecs.getOptions().getJpeg().getSave().setQualityFactor(2);
codecs.save(image, destFileName8, RasterImageFormat.JPEG, 8);
image.dispose();
// Load the image again this time grayscale to 12-bits/pixel
image = codecs.load(srcFileName, 24, CodecsLoadByteOrder.BGR, 1, 1);
command.setBitsPerPixel(12);
command.run(image);
System.out.printf("Grsyscale mode after grayscale command with 12 bpp = %s%n", image.getGrayscaleMode());
codecs.getOptions().getJpeg().getSave().setQualityFactor(2);
codecs.save(image, destFileName12, RasterImageFormat.JPEG, 12);
image.dispose();
// Load the image again this time grayscale to 16-bits/pixel
image = codecs.load(srcFileName, 24, CodecsLoadByteOrder.BGR, 1, 1);
command.setBitsPerPixel(16);
command.run(image);
System.out.printf("Grsyscale mode after grayscale command with 16 bpp = %s%n", image.getGrayscaleMode());
// When saving 16-bit jpegs, you must use lossless quality factor
codecs.getOptions().getJpeg().getSave().setQualityFactor(0);
codecs.save(image, destFileName16, RasterImageFormat.JPEG, 16);
assertTrue("file unsuccessfully saved to " + destFileName16, (new File(destFileName16)).exists());
System.out.printf("File saved successfully to %s%n", destFileName16);
// Clean Up
image.dispose();
codecs.dispose();
}
Help Collections
Raster .NET | C API | C++ Class Library | HTML5 JavaScript
Document .NET | C API | C++ Class Library | HTML5 JavaScript
Medical .NET | C API | C++ Class Library | HTML5 JavaScript
Medical Web Viewer .NET
Multimedia
Direct Show .NET | C API | Filters
Media Foundation .NET | C API | Transforms
Supported Platforms
.NET, Java, Android, and iOS/macOS Assemblies
Imaging, Medical, and Document
C API/C++ Class Libraries
Imaging, Medical, and Document
HTML5 JavaScript Libraries
Imaging, Medical, and Document