←Select platform

AutoZoningCommand Class

Summary

Detects different zones (Text, Graphic and Tables) in an image automatically. This is an important feature for OCR pre-processing to improve the recognition results. This function is useful for any application that needs to automatically separate images, tables and text within mixed raster content (MRC) images.

Syntax

C#
VB
Java
Objective-C
WinRT C#
C++
@interface LTAutoZoningCommand : LTRasterCommand
public class AutoZoningCommand extends RasterCommand
function Leadtools.ImageProcessing.Core.AutoZoningCommand()

Remarks
  • This command detects different zones and adds the detected zones to the Zones property
  • This command does not support 12-bit or 16-bit grayscale or 48-bit or 64-bit color images (Exception: Image format not recognized).
  • This command does not support signed data images (Exception: Signed image data not supported).
  • This command does not support 32-bit grayscale images.

Note:This command is supported in LEADTOOLS Document Imaging and higher.

Example

C#
VB
WinRT C#
Imports Leadtools 
Imports Leadtools.Codecs 
Imports Leadtools.ImageProcessing.Core 
 
    
Public Sub AutoZoningCommandExample() 
   ' Load an image 
   Dim codecs As RasterCodecs = New RasterCodecs() 
   codecs.ThrowExceptionsOnInvalidImages = True 
   Dim image As RasterImage = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "Sample.mrc")) 
 
   ' Prepare the command 
   Dim command As AutoZoningCommand = New AutoZoningCommand() 
   command.Options = AutoZoningOptions.DontAllowOverlap Or _ 
                     AutoZoningOptions.DetectAccurateZones Or _ 
                     AutoZoningOptions.DetectAll Or _ 
                     AutoZoningOptions.UseMultiThreading 
 
   ' Apply the AutoZoning 
   command.Run(image) 
 
   Dim i As Integer 
   For i = 0 To command.Zones.Count - 1 
      MessageBox.Show("Location :" + command.Zones(i).Bounds.ToString() + "\n" + "Type :" + command.Zones(i).Type.ToString()) 
   Next 
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 AutoZoningCommandExample() 
{ 
   // Load an image 
   RasterCodecs codecs = new RasterCodecs(); 
   codecs.ThrowExceptionsOnInvalidImages = true; 
   RasterImage image = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "Sample.mrc")); 
 
   // Prepare the command 
   AutoZoningCommand command = new AutoZoningCommand(); 
   command.Options = AutoZoningOptions.DontAllowOverlap      | 
                     AutoZoningOptions.DetectAccurateZones  |  
                     AutoZoningOptions.DetectAll            | 
                     AutoZoningOptions.UseMultiThreading;  
 
   //Apply the AutoZoning 
   command.Run(image); 
 
   for (int i = 0; i < command.Zones.Count; i++) 
   { 
      MessageBox.Show("Location :" + command.Zones[i].Bounds.ToString() + 
                      "\n" + "Type :" + command.Zones[i].Type.ToString()); 
   } 
} 
 
static class LEAD_VARS 
{ 
public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images"; 
} 
using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.ImageProcessing.Core; 
 
       
public async Task AutoZoningCommandExample() 
{ 
   // Load an image 
   RasterCodecs codecs = new RasterCodecs(); 
   codecs.ThrowExceptionsOnInvalidImages = true; 
   string srcFileName = @"Assets\OCR1.TIF"; 
   StorageFile loadFile = await Tools.AppInstallFolder.GetFileAsync(srcFileName); 
   RasterImage image = await codecs.LoadAsync(LeadStreamFactory.Create(loadFile)); 
 
   // Prepare the command 
   AutoZoningCommand command = new AutoZoningCommand(); 
   command.Options = AutoZoningOptions.DontAllowOverlap     | 
                     AutoZoningOptions.DetectAccurateZones  |  
                     AutoZoningOptions.DetectAll            | 
                     AutoZoningOptions.UseMultiThreading;  
 
   //Apply the AutoZoning 
   command.Run(image); 
 
   for (int i = 0; i < command.Zones.Count; i++) 
   { 
      String str = String.Format("Location : [Left={0}, Top={1}, Width={2}, Height={3}]\nType : {4}",  
         command.Zones[i].Bounds.X,  
         command.Zones[i].Bounds.Y,  
         command.Zones[i].Bounds.Width,  
         command.Zones[i].Bounds.Height, 
         command.Zones[i].Type.ToString()); 
      Debug.WriteLine(str); 
   } 
} 

Requirements

Target Platforms

Products | Support | Contact Us | Copyright Notices
© 1991-2017 LEAD Technologies, Inc. All Rights Reserved.
Leadtools.ImageProcessing.Core Assembly
Click or drag to resize