Smoothes the bumps and fills in the nicks of a 1-bit black and white image. This command is available in the Document/Medical Toolkits.
public class SmoothCommand : RasterCommand
Public Class SmoothCommand
Inherits Leadtools.Imageprocessing.Leadtools.ImageProcessing.RasterCommand
Implements Leadtools.Imageprocessing.Leadtools.ImageProcessing.IRasterCommand
public sealed class SmoothCommand : Leadtools.Imageprocessing.Leadtools.ImageProcessing.IRasterCommand
@interface LTSmoothCommand : LTRasterCommand
public class SmoothCommand extends RasterCommand
function Leadtools.ImageProcessing.Core.SmoothCommand()
public ref class SmoothCommand : public Leadtools.Imageprocessing.Leadtools.ImageProcessing.RasterCommand, Leadtools.Imageprocessing.Leadtools.ImageProcessing.IRasterCommand
For more information, refer to Cleaning Up 1-Bit Images. 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.
Run the SmoothCommand on an image.
using Leadtools;
using Leadtools.Codecs;
using Leadtools.ImageProcessing.Core;
public void SmoothCommandExample()
{
// Load an image
RasterCodecs codecs = new RasterCodecs();
codecs.ThrowExceptionsOnInvalidImages = true;
RasterImage image = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "clean.tif"));
// Prepare the command
SmoothCommand command = new SmoothCommand();
command.Smooth += new EventHandler<SmoothCommandEventArgs>(SmoothEventExample_S1);
command.Flags = SmoothCommandFlags.FavorLong;
command.Length = 2;
command.Run(image);
}
private void SmoothEventExample_S1(object sender, SmoothCommandEventArgs e)
{
string BumpOrNeck;
string Direction;
if (e.BumpNick == SmoothCommandBumpNickType.Bump)
BumpOrNeck = "Bump";
else
BumpOrNeck = "Neck";
if (e.Direction == SmoothCommandDirectionType.Horizontal)
Direction = "Horizontal";
else
Direction = "Vertical";
MessageBox.Show("Type " + BumpOrNeck +
"\n Row Column " + e.StartRow.ToString() + e.StartColumn.ToString() +
"\n Length " + e.Length +
"\n Direction " + Direction);
e.Status = RemoveStatus.Remove;
}
static class LEAD_VARS
{
public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images";
}
Imports Leadtools
Imports Leadtools.Codecs
Imports Leadtools.ImageProcessing.Core
Leadtools.Examples.Support.SetLicense()
Public WithEvents smoothEventExample_S1 As SmoothCommand
Public Sub SmoothCommandExample()
Dim codecs As New RasterCodecs()
codecs.ThrowExceptionsOnInvalidImages = True
Dim leadImage As RasterImage = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "Clean.tif"))
' Prepare the command
smoothEventExample_S1 = New SmoothCommand
smoothEventExample_S1.Flags = SmoothCommandFlags.FavorLong
smoothEventExample_S1.Length = 2
smoothEventExample_S1.Run(leadImage)
End Sub
Private Sub SmoothEventExample_SmoothCommand_S1(ByVal sender As Object, ByVal e As SmoothCommandEventArgs) Handles smoothEventExample_S1.Smooth
Dim BumpOrNeck As String
Dim Direction As String
If (e.BumpNick = SmoothCommandBumpNickType.Bump) Then
BumpOrNeck = "Bump"
Else
BumpOrNeck = "Neck"
End If
If (e.Direction = SmoothCommandDirectionType.Horizontal) Then
Direction = "Horizontal"
Else
Direction = "Vertical"
End If
MessageBox.Show("Type " + BumpOrNeck.ToString() +
Chr(13) + " Row Column " + e.StartRow.ToString() + e.StartColumn.ToString() +
Chr(13) + " Length " + e.Length.ToString() +
Chr(13) + " Direction " + Direction.ToString())
e.Status = RemoveStatus.Remove
End Sub
Public NotInheritable Class LEAD_VARS
Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images"
End Class
using Leadtools;
using Leadtools.Examples;
using Leadtools.Codecs;
using Leadtools.ImageProcessing.Core;
public void SmoothCommandExample(RasterImage image, Stream outStream)
{
// Prepare the command
SmoothCommand command = new SmoothCommand();
command.Smooth += new EventHandler<SmoothCommandEventArgs>(SmoothEventExample_S1);
command.Flags = SmoothCommandFlags.FavorLong;
command.Length = 2;
command.Run(image);
// Save result image
RasterCodecs codecs = new RasterCodecs();
codecs.Save(image, outStream, RasterImageFormat.CcittGroup4, 1);
image.Dispose();
}
private void SmoothEventExample_S1(object sender, SmoothCommandEventArgs e)
{
string BumpOrNeck;
string Direction;
if (e.BumpNick == SmoothCommandBumpNickType.Bump)
BumpOrNeck = "Bump";
else
BumpOrNeck = "Neck";
if (e.Direction == SmoothCommandDirectionType.Horizontal)
Direction = "Horizontal";
else
Direction = "Vertical";
Debug.WriteLine("Type " + BumpOrNeck +
"\n Row Column " + e.StartRow.ToString() + e.StartColumn.ToString() +
"\n Length " + e.Length +
"\n Direction " + Direction);
e.Status = RemoveStatus.Remove;
}
Imports Leadtools
Imports Leadtools.Codecs
Imports Leadtools.ImageProcessing.Core
Public Sub SmoothCommandExample(ByVal image As RasterImage, ByVal outStream As Stream)
' Prepare the command
Dim command As SmoothCommand = New SmoothCommand()
AddHandler command.Smooth, AddressOf SmoothEventExample_S1
command.Flags = SmoothCommandFlags.FavorLong
command.Length = 2
command.Run(image)
' Save result image
Dim codecs As RasterCodecs = New RasterCodecs()
codecs.Save(image, outStream, RasterImageFormat.CcittGroup4, 1)
image.Dispose()
End Sub
Private Sub SmoothEventExample_S1(ByVal sender As Object, ByVal e As SmoothCommandEventArgs)
Dim BumpOrNeck As String
Dim Direction As String
If e.BumpNick = SmoothCommandBumpNickType.Bump Then
BumpOrNeck = "Bump"
Else
BumpOrNeck = "Neck"
End If
If e.Direction = SmoothCommandDirectionType.Horizontal Then
Direction = "Horizontal"
Else
Direction = "Vertical"
End If
Debug.WriteLine("Type " & BumpOrNeck & Constants.vbLf & " Row Column " & e.StartRow.ToString() & e.StartColumn.ToString() & Constants.vbLf &
" Length " & e.Length + Constants.vbLf & " Direction " & Direction)
e.Status = RemoveStatus.Remove
End Sub
Raster .NET | C API | C++ Class Library | JavaScript HTML5
Document .NET | C API | C++ Class Library | JavaScript HTML5
Medical .NET | C API | C++ Class Library | JavaScript HTML5
Medical Web Viewer .NET