public BorderRemoveCommand(
BorderRemoveCommandFlags flags,
BorderRemoveBorderFlags border,
int percent,
int whiteNoiseLength,
int variance
)
- (instancetype)initWithFlags:(LTBorderRemoveCommandFlags)flags border:(LTBorderRemoveBorderFlags)border percent:(NSInteger)percent whiteNoiseLength:(NSInteger)whiteNoiseLength variance:(NSInteger)variance NS_DESIGNATED_INITIALIZER;
public BorderRemoveCommand(
int flags,
int border,
int percent,
int whiteNoiseLength,
int variance
)
public:
BorderRemoveCommand(
BorderRemoveCommandFlags flags,
BorderRemoveBorderFlags border,
int percent,
int whiteNoiseLength,
int variance
)
__init__(self,flags,border,percent,whiteNoiseLength,variance) # Overloaded constructor
flags
Flag that determines the behavior of the border removal process.
border
Flag that indicates which border to remove.
percent
Percent of the image dimension in which the border will be found. For most images, use 20. For example, if an image is 200 pixels wide, Percent is set to 20 and Border is set to BorderRemoveBorderFlags.Left, then the left border will be found in the area between the left edge of the image and a line 40 pixels from the left edge. If the border is closer to the edge of the image, use a smaller value. If the border is farther from the edge, use a larger value.
whiteNoiseLength
Amount of white noise tolerated when determining the border. The units are in pixels. Values of 0 to 10 are sufficient for most images.
variance
Amount of variance tolerated in the border. If the border varies significantly in thickness, you should use a higher value for Variance. Range is 0 to 10.
Run the BorderRemoveCommand on an image.
using Leadtools;
using Leadtools.Codecs;
using Leadtools.ImageProcessing.Core;
using Leadtools.ImageProcessing.Color;
public void BorderRemoveConstructorExample()
{
// Load an image
RasterCodecs codecs = new RasterCodecs();
codecs.ThrowExceptionsOnInvalidImages = true;
RasterImage image = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "Clean.tif"));
// Prepare the command
BorderRemoveCommand command = new BorderRemoveCommand(BorderRemoveCommandFlags.UseVariance | BorderRemoveCommandFlags.CallBackRegion, BorderRemoveBorderFlags.All, 20, 9, 3);
command.BorderRemove += new EventHandler<BorderRemoveCommandEventArgs>(command_BorderRemove_S2);
command.Run(image);
}
private void command_BorderRemove_S2(object sender, BorderRemoveCommandEventArgs e)
{
BorderRemoveCommandEventArgs ee = new BorderRemoveCommandEventArgs(e.Image, e.Region, BorderRemoveBorderFlags.All, e.BoundingRectangle);
e.Status = RemoveStatus.NoRemove;
if (e.Region != null)
{
e.Image.SetRegion(null, e.Region, RasterRegionCombineMode.Set);
InvertCommand command = new InvertCommand();
command.Run(e.Image);
e.Image.MakeRegionEmpty();
}
}
static class LEAD_VARS
{
public const string ImagesDir = @"C:\LEADTOOLS23\Resources\Images";
}
import java.beans.EventHandler;
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.core.*;
import leadtools.imageprocessing.color.*;
public void borderRemoveConstructorExample() {
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,
"clean.tif"), 1, CodecsLoadByteOrder.BGR, 1, 1);
// Prepare the command
BorderRemoveCommand command = new BorderRemoveCommand(
BorderRemoveCommandFlags.USE_VARIANCE.getValue() | BorderRemoveCommandFlags.CALLBACK_REGION.getValue(),
BorderRemoveBorderFlags.ALL.getValue(), 20, 9, 3);
command.addBorderRemoveCommandListener(commandBorderRemoveS2);
command.run(image);
System.out.println("Command run and image saved to " + combine(LEAD_VARS_IMAGES_DIR, "clean.tif"));
assertTrue(new File(combine(LEAD_VARS_IMAGES_DIR, "clean.tif")).exists());
}
BorderRemoveCommandListener commandBorderRemoveS2 = new BorderRemoveCommandListener() {
@Override
public void onBorderRemoveEvent(BorderRemoveCommandEvent e) {
e.setStatus(RemoveStatus.NO_REMOVE);
if (e.getRegion() != null) {
e.getImage().setRegion(null, e.getRegion(), RasterRegionCombineMode.SET);
InvertCommand command = new InvertCommand();
command.run(e.getImage());
e.getImage().makeRegionEmpty();
}
}
};
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