RasterImage object that is updated with a shallow copy of the image that also has a region that contains the removed lines.
public RasterImage ImageRegion { get; } Public ReadOnly Property ImageRegion As Leadtools.RasterImage public Leadtools.RasterImage ImageRegion {get;} @property (nonatomic, strong, readonly, nullable) LTRasterImage *imageRegion public RasterImage getImageRegion() get_ImageRegion(); public:property Leadtools.RasterImage^ ImageRegion {Leadtools.RasterImage^ get();}
The RasterImage object, updated with a shallow copy of the image that has a region that contains the removed lines.
If LineRemoveCommandFlags.SingleRegion| LineRemoveCommandFlags.LeadRegion has been set in Flags, then when LineRemoveCommand returns, this property is updated with a shallow copy of the image that also has a region that contains the removed lines. So set Flags to (LineRemoveCommandFlags.SingleRegion| LineRemoveCommandFlags.LeadRegion). It is the programmer's responsibility to dispose of the region when it is no longer needed.
Run the LineRemoveCommand on an image.
using Leadtools;using Leadtools.Codecs;using Leadtools.ImageProcessing.Core;public void ImageRegionPropertyExample(){// Load an imageRasterCodecs codecs = new RasterCodecs();codecs.ThrowExceptionsOnInvalidImages = true;RasterImage image = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "Clean.tif"));// Prepare the commandLineRemoveCommand command = new LineRemoveCommand();command.LineRemove += new EventHandler<LineRemoveCommandEventArgs>(LineRemoveEvent_S3);command.Type = LineRemoveCommandType.Horizontal;command.Flags = LineRemoveCommandFlags.UseVariance | LineRemoveCommandFlags.SingleRegion;command.GapLength = 2;command.MaximumLineWidth = 5;command.MinimumLineLength = 200;command.MaximumWallPercent = 10;command.Wall = 7;command.Variance = 2;command.Run(image);}private void LineRemoveEvent_S3(object sender, LineRemoveCommandEventArgs e){MessageBox.Show("Row Col " + "( " + e.StartRow.ToString() + ", " + e.StartColumn + " )" +"\n Length " + e.Length.ToString());e.Status = RemoveStatus.Remove;}static class LEAD_VARS{public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images";}
Imports LeadtoolsImports Leadtools.CodecsImports Leadtools.ImageProcessing.CoreLeadtools.Examples.Support.SetLicense()Public WithEvents lineRemoveCommand_S3 As LineRemoveCommandPublic Sub ImageRegionPropertyExample()Dim codecs As New RasterCodecs()codecs.ThrowExceptionsOnInvalidImages = TrueDim leadImage As RasterImage = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "Clean.tif"))' Prepare the commandlineRemoveCommand_S3 = New LineRemoveCommandlineRemoveCommand_S3.Type = LineRemoveCommandType.HorizontallineRemoveCommand_S3.Flags = LineRemoveCommandFlags.UseVariance Or LineRemoveCommandFlags.SingleRegion Or LineRemoveCommandFlags.LeadRegionlineRemoveCommand_S3.GapLength = 2lineRemoveCommand_S3.MaximumLineWidth = 5lineRemoveCommand_S3.MinimumLineLength = 200lineRemoveCommand_S3.MaximumWallPercent = 10lineRemoveCommand_S3.Wall = 7lineRemoveCommand_S3.Variance = 2lineRemoveCommand_S3.Run(leadImage)End SubPrivate Sub LineRemoveCommand_LineRemove_S3(ByVal sender As Object, ByVal e As LineRemoveCommandEventArgs) Handles lineRemoveCommand_S3.LineRemoveMessageBox.Show("Row Col " + "( " + e.StartRow.ToString() + ", " + e.StartColumn.ToString() + " )" +Chr(13) + " Length " + e.Length.ToString())e.Status = RemoveStatus.RemoveEnd SubPublic NotInheritable Class LEAD_VARSPublic 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 ImageRegionPropertyExample(RasterImage image, Stream outStream){// Prepare the commandLineRemoveCommand command = new LineRemoveCommand();command.LineRemove += new EventHandler<LineRemoveCommandEventArgs>(LineRemoveEvent_S3);command.Type = LineRemoveCommandType.Horizontal;command.Flags = LineRemoveCommandFlags.UseVariance | LineRemoveCommandFlags.SingleRegion;command.GapLength = 2;command.MaximumLineWidth = 5;command.MinimumLineLength = 200;command.MaximumWallPercent = 10;command.Wall = 7;command.Variance = 2;command.Run(image);// Save result imageRasterCodecs codecs = new RasterCodecs();codecs.Save(image, outStream, RasterImageFormat.CcittGroup4, 1);image.Dispose();}private void LineRemoveEvent_S3(object sender, LineRemoveCommandEventArgs e){Debug.WriteLine("Row Col " + "( " + e.StartRow.ToString() + ", " + e.StartColumn + " )" +"\n Length " + e.Length.ToString());e.Status = RemoveStatus.Remove;}
Imports LeadtoolsImports Leadtools.CodecsImports Leadtools.ImageProcessing.CorePublic Sub ImageRegionPropertyExample(ByVal image As RasterImage, ByVal outStream As Stream)' Prepare the commandDim command As LineRemoveCommand = New LineRemoveCommand()AddHandler command.LineRemove, AddressOf LineRemoveEvent_S3command.Type = LineRemoveCommandType.Horizontalcommand.Flags = LineRemoveCommandFlags.UseVariance Or LineRemoveCommandFlags.SingleRegioncommand.GapLength = 2command.MaximumLineWidth = 54command.MinimumLineLength = 200command.MaximumWallPercent = 10command.Wall = 7command.Variance = 2command.Run(image)' Save result imageDim codecs As RasterCodecs = New RasterCodecs()codecs.Save(image, outStream, RasterImageFormat.CcittGroup4, 1)image.Dispose()End SubPrivate Sub LineRemoveEvent_S3(ByVal sender As Object, ByVal e As LineRemoveCommandEventArgs)Debug.WriteLine("Row Col " & "( " & e.StartRow.ToString() & ", " & e.StartColumn & " )" & Constants.vbLf & " Length " & e.Length.ToString())e.Status = RemoveStatus.RemoveEnd 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
