public class InvertedTextCommand : RasterCommand
@interface LTInvertedTextCommand : LTRasterCommand
public class InvertedTextCommand
extends RasterCommand
public ref class InvertedTextCommand : public RasterCommand
class InvertedTextCommand(RasterCommand):
This command is available in the Document/Medical Toolkits.
This command finds and modifies areas of inverted text that are common in scanned text documents. Below is an example of inverted text:
The behavior of this command can be modified by using an Event Handler that handles the InvertedTextCommandEventArgs.
For more information, refer to Cleaning Up 1-Bit Images.
Inverted Text Function - Before
Inverted Text Function - After
View additional platform support for this Inverted Text function.
Runs the InvertedTextCommand on an image.
using Leadtools;
using Leadtools.Codecs;
using Leadtools.ImageProcessing.Core;
public void InvertedTextCommandExample()
{
// Load an image
RasterCodecs codecs = new RasterCodecs();
codecs.ThrowExceptionsOnInvalidImages = true;
RasterImage image = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "Clean.tif"));
// Prepare the command
InvertedTextCommand command = new InvertedTextCommand();
command.InvertedText += new EventHandler<InvertedTextCommandEventArgs>(InvertedTextEvent_S1);
command.Flags = InvertedTextCommandFlags.UseDpi;
command.MaximumBlackPercent = 95;
command.MinimumBlackPercent = 70;
command.MinimumInvertHeight = 500;
command.MinimumInvertWidth = 5000;
command.Run(image);
}
private void InvertedTextEvent_S1(object sender, InvertedTextCommandEventArgs e)
{
MessageBox.Show("Size " + "( " + e.BoundingRectangle.Left + ", " + e.BoundingRectangle.Top + ") - " + "( " + e.BoundingRectangle.Right + ", " + e.BoundingRectangle.Bottom + ")" +
"\n Black Count " + e.BlackCount.ToString() +
"\n White Count " + e.WhiteCount.ToString());
e.Status = RemoveStatus.Remove;
}
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.core.*;
public void invertedTextCommandExample() {
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"));
// Prepare the command
InvertedTextCommand command = new InvertedTextCommand();
command.addInvertedTextCommandListener(invertedTextEvent_S1);
command.setFlags(InvertedTextCommandFlags.USE_DPI.getValue());
command.setMaximumBlackPercent(95);
command.setMinimumBlackPercent(70);
command.setMinimumInvertHeight(500);
command.setMinimumInvertWidth(5000);
command.run(image);
codecs.save(image, combine(LEAD_VARS_IMAGES_DIR, "Result.jpg"), RasterImageFormat.JPEG, 24);
assertTrue(new File(combine(LEAD_VARS_IMAGES_DIR, "Result.jpg")).exists());
System.out.println("Command run and image saved to " + combine(LEAD_VARS_IMAGES_DIR, "Result.jpg"));
}
InvertedTextCommandListener invertedTextEvent_S1 = new InvertedTextCommandListener() {
@Override
public void onInvertedTextEvent(InvertedTextCommandEvent e) {
System.out.println(
"Size ( " + e.getBoundingRectangle().getLeft() + ", " + e.getBoundingRectangle().getTop() + ") - "
+ "( "
+ e.getBoundingRectangle().getRight() + ", " + e.getBoundingRectangle().getBottom() + ")" +
"\n Black Count " + e.getBlackCount() +
"\n White Count " + e.getWhiteCount());
e.setStatus(RemoveStatus.REMOVE);
}
};
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