←Select platform

UnsharpMaskCommand Class

Summary
Sharpens the image by applying the unsharp mask.
Syntax
C#
Objective-C
C++/CLI
Java
Python
public class UnsharpMaskCommand : RasterCommand 
@interface LTUnsharpMaskCommand : LTRasterCommand 
public class UnsharpMaskCommand 
    extends RasterCommand 
public ref class UnsharpMaskCommand : public RasterCommand   
class UnsharpMaskCommand(RasterCommand): 
Remarks
  • This command is actually considered a sharpening method. It is used to sharpen the image with a minimum of noise. To reduce the noise, it starts by blurring a copy of the original image. The amount of blur depends on Radius. The method then determines the difference between each pixel's value of the original image and the corresponding pixel's value in the blurred image. If the difference is greater than the threshold value, then the difference between the pixel values is multiplied by the amount value and added to the original pixel value.
  • To increase the thickness of the sharpened edges, increase the radius value.
  • To increase the amount of sharpness, increase the amount value.
  • To reduce the noise and eliminate the small edges or individual pixels that will produce noise in the image, increase the threshold value.
  • Using the YUV color space decreases the processing time.
  • This command supports 12 and 16-bit grayscale and 48 and 64-bit color images. Support for 12 and 16-bit grayscale and 48 and 64-bit color images is available only in the Document/Medical toolkits.
  • This command does not support 32-bit grayscale images.
  • This command supports signed/unsigned data images.

For more information, refer to Detecting and Enhancing Edges and Lines.

Unsharp Mask Function - Before

Unsharp Mask Function - Before

Unsharp Mask Function - After

Unsharp Mask Function - After

View additional platform support for this Unsharp Mask function.

Example

Run the UnsharpMaskCommand on an image.

C#
Java
using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.ImageProcessing.Effects; 
 
 
public void UnsharpMaskCommandExample() 
{ 
   // Load an image 
   RasterCodecs codecs = new RasterCodecs(); 
   codecs.ThrowExceptionsOnInvalidImages = true; 
 
   RasterImage image = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "IMAGE1.CMP")); 
 
   // Prepare the command 
   UnsharpMaskCommand command = new UnsharpMaskCommand(); 
   command.Amount = 200; 
   command.Radius = 15; 
   command.Threshold = 50; 
   command.ColorType = UnsharpMaskCommandColorType.Rgb; 
   command.Run(image); 
 
} 
 
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.effects.*; 
 
 
public void unsharpMaskCommandExample() { 
   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, "image1.cmp")); 
 
   // Prepare the command 
   UnsharpMaskCommand command = new UnsharpMaskCommand(); 
   command.setAmount(200); 
   command.setRadius(15); 
   command.setThreshold(50); 
   command.setColorType(UnsharpMaskCommandColorType.RGB); 
   assertTrue(command.getAmount() == 200 && command.getRadius() == 15 && command.getThreshold() == 50 
         && command.getColorType() == UnsharpMaskCommandColorType.RGB); 
   int change = command.run(image); 
   assertTrue(change != RasterImageChangedFlags.NONE); 
 
   codecs.save(image, combine(LEAD_VARS_IMAGES_DIR, "image1.cmp"), RasterImageFormat.CMP, 0); 
   System.out.println("Command run and image saved to " + combine(LEAD_VARS_IMAGES_DIR, "image1.cmp")); 
} 
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.Effects Assembly
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.