How to Fix Image Orientation for Reading

Fixing image orientation, in the context of image processing, involves making adjustments to an image to ensure it is properly aligned for specific purposes, such as text recognition. IronOcr supports fixing image orientation, including rotation, deskewing, and scaling.

These techniques are essential for preparing images for accurate text recognition, as they ensure that text is correctly oriented, aligned, and appropriately sized for extraction.

Get started with IronOCR

Start using IronOCR in your project today with a free trial.

First Step:
green arrow pointer



Rotate Image Example

Rotating an image involves changing its orientation by a specific angle (e.g., 90 degrees clockwise or counterclockwise) to ensure that the text or content within the image is upright and correctly aligned.

Pass a degree value to the Rotate method to perform the rotation. A positive degree value will rotate the image clockwise, while a negative degree value will rotate the image counterclockwise.

:path=/static-assets/ocr/content-code-examples/how-to/image-orientation-correction-rotate-image.cs
using IronOcr;

// Instantiate IronTesseract
IronTesseract ocrTesseract = new IronTesseract();

// Add image
using var imageInput = new OcrImageInput("paragraph_skewed.png");

// Rotate the image 180 degrees clockwise
imageInput.Rotate(180);

// Export the modified image
imageInput.SaveAsImages("rotate");
Imports IronOcr

' Instantiate IronTesseract
Private ocrTesseract As New IronTesseract()

' Add image
Private imageInput = New OcrImageInput("paragraph_skewed.png")

' Rotate the image 180 degrees clockwise
imageInput.Rotate(180)

' Export the modified image
imageInput.SaveAsImages("rotate")
$vbLabelText   $csharpLabel

For convenience, you can export the modified image using the SaveAsImages method. Below is a comparison of the image before and after rotation.

Sample image
Rotated image

Deskew Image Example

Deskewing is the process of straightening an image that may be slightly tilted or skewed. It corrects any slant or misalignment, ensuring that the text or content appears horizontally aligned.

To apply deskewing to the image, use the Deskew method. This method accepts an integer value that specifies the maximum angle of skew to correct. Higher values may provide more opportunities for correction, but they can result in slower processing and an increased risk of errors, including upside-down pages.

:path=/static-assets/ocr/content-code-examples/how-to/image-orientation-correction-deskew-image.cs
// Apply deskew
imageInput.Deskew();
' Apply deskew
imageInput.Deskew()
$vbLabelText   $csharpLabel
Sample image
deskewed image

Scale Image Example

Scaling involves resizing an image to a specific dimension or aspect ratio. This can be useful to standardize image sizes for more consistent text recognition.

To apply scaling to the image, use the Scale method. The Scale method takes a percentage value, with 100% meaning no effect. The second parameter is the ScaleCropArea, which determines whether associated crop areas should also be scaled proportionally (recommended as 'true').

:path=/static-assets/ocr/content-code-examples/how-to/image-orientation-correction-scale-image.cs
// Apply scale
imageInput.Scale(70);
' Apply scale
imageInput.Scale(70)
$vbLabelText   $csharpLabel

Size comparison

Size comparison
Size comparison

Frequently Asked Questions

What is image orientation correction?

Image orientation correction involves adjusting an image to ensure it is properly aligned for purposes such as text recognition. This includes techniques like rotation, deskewing, and scaling.

How can image orientation be corrected in .NET applications?

IronOCR provides methods to fix image orientation by supporting rotation, deskewing, and scaling, which are essential for preparing images for accurate text recognition.

How can I rotate an image in a C# application?

You can rotate an image using the Rotate method in IronOCR. Pass a degree value to rotate the image clockwise or counterclockwise.

What is deskewing and how can it be implemented programmatically?

Deskewing is the process of straightening a tilted or skewed image. It is applied using the Deskew method, which corrects any slant or misalignment to ensure horizontal alignment.

How do I scale an image in a .NET environment?

To scale an image in IronOCR, use the Scale method with a percentage value. You can also specify whether associated crop areas should be scaled proportionally.

Can PDF documents be processed for image orientation correction?

Yes, IronOCR can import and process PDF documents for image orientation correction, allowing for adjustments like rotation, deskewing, and scaling.

What is the advantage of using a dedicated library for text recognition?

IronOCR ensures text is correctly oriented, aligned, and appropriately sized for extraction, leading to improved accuracy in text recognition.

Is it possible to export images after correction in a .NET application?

Yes, after applying image orientation corrections, you can export the modified images using the SaveAsImages method in IronOCR.

What is the impact of using higher deskew values while correcting images?

Higher deskew values may provide more correction opportunities but can result in slower processing and an increased risk of errors, such as upside-down pages.

Why is it important to correct image orientation before performing text recognition?

Correcting image orientation ensures that text is properly aligned and sized, leading to more accurate text extraction and recognition during OCR processing.

Chaknith Bin
Software Engineer
Chaknith works on IronXL and IronBarcode. He has deep expertise in C# and .NET, helping improve the software and support customers. His insights from user interactions contribute to better products, documentation, and overall experience.
Reviewed by
Jeff Fritz
Jeffrey T. Fritz
Principal Program Manager - .NET Community Team
Jeff is also a Principal Program Manager for the .NET and Visual Studio teams. He is the executive producer of the .NET Conf virtual conference series and hosts 'Fritz and Friends' a live stream for developers that airs twice weekly where he talks tech and writes code together with viewers. Jeff writes workshops, presentations, and plans content for the largest Microsoft developer events including Microsoft Build, Microsoft Ignite, .NET Conf, and the Microsoft MVP Summit