Products | Support | Email a link to this topic. | Send comments on this topic. | Back to Introduction - All Topics | Help Version 19.0.6.27
|
Leadtools.ImageProcessing.Core Namespace : ZeroToNegativeCommand Class |
public class ZeroToNegativeCommand : Leadtools.ImageProcessing.RasterCommand, Leadtools.ImageProcessing.IRasterCommand
'Declaration
Public Class ZeroToNegativeCommand Inherits Leadtools.ImageProcessing.RasterCommand Implements Leadtools.ImageProcessing.IRasterCommand
'Usage
Dim instance As ZeroToNegativeCommand
public sealed class ZeroToNegativeCommand : Leadtools.ImageProcessing.IRasterCommand
@interface LTZeroToNegativeCommand : LTRasterCommand
public class ZeroToNegativeCommand extends RasterCommand
function Leadtools.ImageProcessing.Core.ZeroToNegativeCommand()
public ref class ZeroToNegativeCommand : public Leadtools.ImageProcessing.RasterCommand, Leadtools.ImageProcessing.IRasterCommand
In Silverlight versions of LEADTOOLS, this image processing command will fail if the image data for the RasterImage object is stored internally using a Silverlight WriteableBitmap object. For more information, refer to Image Processing Command Limitations in Silverlight.
This command will apply MultiscaleEnhancementCommand on a signed image, but since MultiscaleEnhancementCommand doesn't support signed images, we will convert the image to unsigned image, apply the effect, and then convert it back to signed image.
Imports Leadtools Imports Leadtools.Codecs Imports Leadtools.ImageProcessing.Core Public Sub ZeroToNegativeCommandExample() Dim codecs As New RasterCodecs() codecs.ThrowExceptionsOnInvalidImages = True Dim leadImage As RasterImage = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "ImageProcessingDemo\Beauty16.jpg")) ' Prepare the command ' Convert the image to unsigned image by shifting the negative values to become positive. Dim MinToZCommand As MinimumToZeroCommand = New MinimumToZeroCommand MinToZCommand.Run(leadImage) ' Apply multiscale enhancement Dim MultiScaleCommand As MultiscaleEnhancementCommand = New MultiscaleEnhancementCommand(2000, 4, -1, 0, 0, MultiscaleEnhancementCommandType.Gaussian, MultiscaleEnhancementCommandFlags.EdgeEnhancement) ' Convert the image back to signed by shifting the same amount in the negative side. Dim command As ZeroToNegativeCommand = New ZeroToNegativeCommand command.MinimumInput = -32767 command.MaximumInput = 32766 command.MinimumOutput = 0 command.MaximumOutput = 65535 command.ShiftAmount = MinToZCommand.ShiftAmount command.Run(leadImage) End Sub Public NotInheritable Class LEAD_VARS Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images" End Class
using Leadtools; using Leadtools.Codecs; using Leadtools.ImageProcessing.Core; public void ZeroToNegativeCommandExample() { // 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 // Convert the image to unsigned image by shifting the negative values to become positive. MinimumToZeroCommand MinToZCommand = new MinimumToZeroCommand(); MinToZCommand.Run(image); // Apply multiscale enhancement MultiscaleEnhancementCommand MultiScaleCommand = new MultiscaleEnhancementCommand(2000, 4, -1, 0, 0, MultiscaleEnhancementCommandType.Gaussian, MultiscaleEnhancementCommandFlags.EdgeEnhancement); // Convert the image back to signed by shifting the same amount in the negative side. ZeroToNegativeCommand command = new ZeroToNegativeCommand(); command.MinimumInput = -32767; command.MaximumInput = 32766; command.MinimumOutput = 0; command.MaximumOutput = 65535; command.ShiftAmount = MinToZCommand.ShiftAmount; command.Run(image); } static class LEAD_VARS { public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images"; }
function ZeroToNegativeCommandExample() { var codecs = new Leadtools.Codecs.RasterCodecs(); codecs.throwExceptionsOnInvalidImages = true; // Load the image var srcFileName = "Assets\\Beauty16.jpg"; var processedImage; return Tools.AppInstallFolder().getFileAsync(srcFileName).then(function (loadFile) { return codecs.loadAsync(Leadtools.LeadStreamFactory.create(loadFile)); }).then(function (image) { // Prepare the command with (Leadtools.ImageProcessing.Core) { // Convert the image to unsigned image by shifting the negative values to become positive. var MinToZCommand = new MinimumToZeroCommand(); MinToZCommand.run(image); // Apply multiscale enhancement var MultiScaleCommand = new MultiscaleEnhancementCommand(2000, 4, -1, 0, 0, MultiscaleEnhancementCommandType.gaussian, MultiscaleEnhancementCommandFlags.edgeEnhancement); // Convert the image back to signed by shifting the same amount in the negative side. var command = new ZeroToNegativeCommand(); command.minimumInput = -32767; command.maximumInput = 32766; command.minimumOutput = 0; command.maximumOutput = 65535; command.shiftAmount = MinToZCommand.shiftAmount; command.run(image); } }); }
using Leadtools; using Leadtools.Codecs; using Leadtools.ImageProcessing.Core; public async Task ZeroToNegativeCommandExample() { // Load an image RasterCodecs codecs = new RasterCodecs(); codecs.ThrowExceptionsOnInvalidImages = true; // Load the image string srcFileName = @"Assets\Beauty16.jpg"; StorageFile loadFile = await Tools.AppInstallFolder.GetFileAsync(srcFileName); RasterImage image = await codecs.LoadAsync(LeadStreamFactory.Create(loadFile)); // Prepare the command // Convert the image to unsigned image by shifting the negative values to become positive. MinimumToZeroCommand MinToZCommand = new MinimumToZeroCommand(); MinToZCommand.Run(image); // Apply multiscale enhancement MultiscaleEnhancementCommand MultiScaleCommand = new MultiscaleEnhancementCommand(2000, 4, -1, 0, 0, MultiscaleEnhancementCommandType.Gaussian, MultiscaleEnhancementCommandFlags.EdgeEnhancement); // Convert the image back to signed by shifting the same amount in the negative side. ZeroToNegativeCommand command = new ZeroToNegativeCommand(); command.MinimumInput = -32767; command.MaximumInput = 32766; command.MinimumOutput = 0; command.MaximumOutput = 65535; command.ShiftAmount = MinToZCommand.ShiftAmount; command.Run(image); }
using Leadtools; using Leadtools.Examples; using Leadtools.Codecs; using Leadtools.ImageProcessing.Core; public void ZeroToNegativeCommandExample(RasterImage image, Stream outStream) { // Prepare the command // Convert the image to unsigned image by shifting the negative values to become positive. MinimumToZeroCommand MinToZCommand = new MinimumToZeroCommand(); MinToZCommand.Run(image); // Apply multiscale enhancement MultiscaleEnhancementCommand MultiScaleCommand = new MultiscaleEnhancementCommand(2000, 4, -1, 0, 0, MultiscaleEnhancementCommandType.Gaussian, MultiscaleEnhancementCommandFlags.EdgeEnhancement); // Convert the image back to signed by shifting the same amount in the negative side. ZeroToNegativeCommand command = new ZeroToNegativeCommand(); command.MinimumInput = -32767; command.MaximumInput = 32766; command.MinimumOutput = 0; command.MaximumOutput = 65535; command.ShiftAmount = MinToZCommand.ShiftAmount; command.Run(image); // Save result image RasterCodecs codecs = new RasterCodecs(); codecs.Save(image, outStream, RasterImageFormat.DicomGray, image.BitsPerPixel); image.Dispose(); }
Imports Leadtools Imports Leadtools.Codecs Imports Leadtools.ImageProcessing.Core Public Sub ZeroToNegativeCommandExample(ByVal image As RasterImage, ByVal outStream As Stream) ' Prepare the command ' Convert the image to unsigned image by shifting the negative values to become positive. Dim MinToZCommand As MinimumToZeroCommand = New MinimumToZeroCommand() MinToZCommand.Run(image) ' Apply multiscale enhancement Dim MultiScaleCommand As MultiscaleEnhancementCommand = _ New MultiscaleEnhancementCommand(2000, 4, -1, 0, 0, MultiscaleEnhancementCommandType.Gaussian, MultiscaleEnhancementCommandFlags.EdgeEnhancement) ' Convert the image back to signed by shifting the same amount in the negative side. Dim command As ZeroToNegativeCommand = New ZeroToNegativeCommand() command.MinimumInput = -32767 command.MaximumInput = 32766 command.MinimumOutput = 0 command.MaximumOutput = 65535 command.ShiftAmount = MinToZCommand.ShiftAmount command.Run(image) ' Save result image Dim codecs As RasterCodecs = New RasterCodecs() codecs.Save(image, outStream, RasterImageFormat.DicomGray, image.BitsPerPixel) image.Dispose() End Sub