GetTextOrientationCommand Class
In This Topic
Detects text orientation in a document image.
Object Model
Syntax
Remarks
This processing command is designed to determine orientation of document images containing mostly text in Roman alphabet which is rotated by multiple of 90 degrees (e.g., scanned documents with unknown orientation).
The command is not designed for:
- non-textual images
- non-Roman text
- Roman text with only capital letters
- rotated text with rotation angle other than multiple of 90 degrees (use DeskewCommand)
- images with only few words, insufficient for making a conclusion.
Use
DeskewCommand prior to this command to align the rotated image. Use other processing commands prior to this command to improve the detection quality of image with noise.
Example
This C#/VB.NET code shows how to load an image from disk and determine the text orientation.
''' <summary>
''' Returns an orientation angle of document image using statistics for Latin symbols.
''' </summary>
''' <param name="filename">The path to a file with document image.</param>
Public Shared Sub GetDocumentImageOrientationUsingLatinSymbolStat(filename As String)
' create an image collection
Using images As New Vintasoft.Imaging.ImageCollection()
' add images from file to the image collection
images.Add(filename)
' create an instance of GetTextOrientationCommand class
Dim getTextOrientationCommand1 As New Vintasoft.Imaging.ImageProcessing.Info.GetTextOrientationCommand()
' for each image in image collection
For i As Integer = 0 To images.Count - 1
' get image
Dim image As Vintasoft.Imaging.VintasoftImage = images(i)
' determine orientation of document image using statistics for Latin symbols
getTextOrientationCommand1.ExecuteInPlace(image)
' write result to the console
System.Console.WriteLine(String.Format("Filename: {0}, page: {1}, page orientation: {2}, confidence: {3}", System.IO.Path.GetFileName(filename), i, getTextOrientationCommand1.Orientation, getTextOrientationCommand1.Confidence))
Next
' free images
images.ClearAndDisposeItems()
End Using
End Sub
/// <summary>
/// Returns an orientation angle of document image using statistics for Latin symbols.
/// </summary>
/// <param name="filename">The path to a file with document image.</param>
public static void GetDocumentImageOrientationUsingLatinSymbolStat(string filename)
{
// create an image collection
using (Vintasoft.Imaging.ImageCollection images = new Vintasoft.Imaging.ImageCollection())
{
// add images from file to the image collection
images.Add(filename);
// create an instance of GetTextOrientationCommand class
Vintasoft.Imaging.ImageProcessing.Info.GetTextOrientationCommand getTextOrientationCommand1 =
new Vintasoft.Imaging.ImageProcessing.Info.GetTextOrientationCommand();
// for each image in image collection
for (int i = 0; i < images.Count; i++)
{
// get image
Vintasoft.Imaging.VintasoftImage image = images[i];
// determine orientation of document image using statistics for Latin symbols
getTextOrientationCommand1.ExecuteInPlace(image);
// write result to the console
System.Console.WriteLine(string.Format("Filename: {0}, page: {1}, page orientation: {2}, confidence: {3}",
System.IO.Path.GetFileName(filename),
i,
getTextOrientationCommand1.Orientation,
getTextOrientationCommand1.Confidence));
}
// free images
images.ClearAndDisposeItems();
}
}
Inheritance Hierarchy
System.Object
 Vintasoft.Imaging.ImageProcessing.ProcessingCommandBase
   Vintasoft.Imaging.ImageProcessing.Info.GetTextOrientationCommand
Requirements
Target Platforms: .NET9; .NET 8; .NET 7; .NET 6; .NET Framework 4.8, 4.7, 4.6, 4.5, 4.0, 3.5
See Also