<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Documentation – Developer&#39;s reference</title>
    <link>https://docs.aspose.com/ocr/python-net/developer-reference/</link>
    <description>Recent content in Developer&#39;s reference on Documentation</description>
    <generator>Hugo -- gohugo.io</generator>
    <lastBuildDate>Fri, 25 Aug 2023 00:00:00 +0000</lastBuildDate>
    
	  <atom:link href="https://docs.aspose.com/ocr/python-net/developer-reference/index.xml" rel="self" type="application/rss+xml" />
    
    
      
        
      
    
    
    <item>
      <title>Python: Preparing content for recognition</title>
      <link>https://docs.aspose.com/ocr/python-net/ocrinput/</link>
      <pubDate>Fri, 25 Aug 2023 00:00:00 +0000</pubDate>
      
      <guid>https://docs.aspose.com/ocr/python-net/ocrinput/</guid>
      <description>
        
        
        &lt;p&gt;Aspose.OCR for Python via .NET provides a versatile way to prepare your content for OCR. A package of recognized files/folders/URLs, regardless of their number and type, is constructed as &lt;a href=&#34;https://reference.aspose.com/ocr/python-net/aspose.ocr/ocrinput/&#34;&gt;&lt;code&gt;OcrInput&lt;/code&gt;&lt;/a&gt; object. With this approach, you can easily process a single image or a large number of images from an auto-feed scanner in a &lt;a href=&#34;https://docs.aspose.com/ocr/ocr/python-net/recognition/&#34;&gt;single API call&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The object constructor takes the &lt;a href=&#34;#supported-content-types&#34;&gt;type&lt;/a&gt; of the provided content and optional &lt;a href=&#34;#applying-image-processing-filters&#34;&gt;processing filters&lt;/a&gt; that will be applied to all images in a batch.&lt;/p&gt;
&lt;h2 id=&#34;supported-content-types&#34;&gt;Supported content types&lt;/h2&gt;
&lt;p&gt;You can only pack sources of the same type into one &lt;code&gt;OcrInput&lt;/code&gt; object. The &lt;a href=&#34;https://reference.aspose.com/ocr/python-net/aspose.ocr/inputtype/&#34;&gt;type&lt;/a&gt; is specified in the constructor and cannot be changed later.&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Source content type&lt;/th&gt;
&lt;th&gt;Supported file formats&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;InputType.SINGLE_IMAGE&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;One or more GIF, PNG, JPEG, BMP, or single-page TIFF images. The images can be provided by their absolute or relative paths, as &lt;code&gt;MemoryStream&lt;/code&gt; objects, or as &lt;a href=&#34;https://docs.aspose.com/ocr/ocr/python-net/ocrinput/image-by-pixel/&#34;&gt;arrays of pixels&lt;/a&gt;.&lt;br /&gt;You can add images of different types in a single batch.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;InputType.PDF&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;One or more PDF documents, containing scanned pages. The files can be provided by their absolute or relative paths or as &lt;code&gt;MemoryStream&lt;/code&gt; objects.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;InputType.TIFF&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;One or more multi-page TIFF images. The files can be provided by their absolute or relative paths or as &lt;code&gt;MemoryStream&lt;/code&gt; objects.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;InputType.DJVU&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;One or more DjVu files, provided by their absolute or relative paths or as &lt;code&gt;MemoryStream&lt;/code&gt; objects.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;InputType.URL&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;One or more web links to GIF, PNG, JPEG, BMP, or single-page TIFF images. Aspose.OCR for Python via .NET will download them automatically before processing.&lt;br /&gt;&lt;strong&gt;Limitations:&lt;/strong&gt;&lt;ul&gt;&lt;li&gt;Aspose.OCR for Python via .NET does not support authentication and can only work with public URLs.&lt;/li&gt;&lt;li&gt;The URL must point directly to the image. Aspose.OCR for Python via .NET cannot extract images from HTML pages.&lt;/li&gt;&lt;/ul&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;InputType.DIRECTORY&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Absolute or relative paths to one or more folders containing GIF, PNG, JPEG, BMP, or single-page TIFF images. Unless specifically configured, all nested images will be recognized.&lt;br /&gt;&lt;strong&gt;Subfolders and nested archives will not be processed!&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;InputType.ZIP&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Absolute or relative paths to one or more ZIP archives containing GIF, PNG, JPEG, BMP, or single-page TIFF images. Unless specifically configured, all archived images will be recognized.&lt;br /&gt;&lt;strong&gt;Nested archives and folders will not be processed!&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;InputType.BASE64&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;One or more GIF, PNG, JPEG, BMP, or single-page TIFF images provided as Base64-encoded strings.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;


&lt;div class=&#34;alert alert-caution&#34; role=&#34;alert&#34;&gt;

Combination of different content types (for example, images and PDF documents) within one &lt;code&gt;OcrInput&lt;/code&gt; object is not supported.
&lt;/div&gt;

&lt;h2 id=&#34;adding-source-content&#34;&gt;Adding source content&lt;/h2&gt;
&lt;p&gt;To manage a batch of images, scanned PDFs, URLs, folders, and other OCR content, use the following methods of the &lt;code&gt;OcrInput&lt;/code&gt; class:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Method&lt;/th&gt;
&lt;th&gt;Purpose&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;add(string)&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Adds an absolute or relative path to a file/folder, or a URL to an image file on the web.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;add(string, int, int)&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Adds an absolute or relative path to a multi-page image, PDF document, ZIP archive or folder, specifying the images/pages for recognition.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;add(stream)&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Adds a stream, containing a file to be recognized.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;add(stream, int, int)&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Adds a stream, containing a milti-page image, PDF document, or ZIP archive, specifying the images/pages for recognition.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;add(Color[], int, int)&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Adds an image provided as an &lt;a href=&#34;https://docs.aspose.com/ocr/ocr/python-net/ocrinput/image-by-pixel/#adding-image-as-asposedrawingcolor-array&#34;&gt;array of pixels&lt;/a&gt;. You must specify the width and height.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;add(byte[], int, int, PixelType)&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Adds an image provided as an &lt;a href=&#34;https://docs.aspose.com/ocr/ocr/python-net/ocrinput/image-by-pixel/&#34;&gt;array of pixels&lt;/a&gt;. You must specify the width, height and color model.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;add_base64(string)&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Adds an image encoded as Base64 string.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;To get the number of items in the batch, use &lt;code&gt;count()&lt;/code&gt; method.&lt;/p&gt;
&lt;h2 id=&#34;removing-source-content&#34;&gt;Removing source content&lt;/h2&gt;
&lt;p&gt;To remove all sources from a batch, use &lt;code&gt;clear()&lt;/code&gt; method.&lt;/p&gt;
&lt;h2 id=&#34;applying-image-processing-filters&#34;&gt;Applying image processing filters&lt;/h2&gt;
&lt;p&gt;The accuracy and reliability of text recognition is highly dependent on the quality of the original image. Aspose.OCR for Python via .NET offers a large number of fully automated and manual image &lt;a href=&#34;https://docs.aspose.com/ocr/ocr/python-net/image-processing/&#34;&gt;processing filters&lt;/a&gt; that enhance an image before it is sent to the OCR engine.&lt;/p&gt;
&lt;p&gt;To apply processing filters to all images in the batch, provide them in the &lt;code&gt;OcrInput&lt;/code&gt; object constructor, or later using &lt;code&gt;replace_filters()&lt;/code&gt; method.&lt;/p&gt;
&lt;p&gt;To remove all processing filters from a batch, use &lt;code&gt;clear_filters()&lt;/code&gt; method.&lt;/p&gt;
&lt;h2 id=&#34;examples&#34;&gt;Examples&lt;/h2&gt;
&lt;p&gt;The following code samples demonstrates how to prepare content for recognition:&lt;/p&gt;





&lt;nav&gt;
  &lt;div class=&#34;book-tabs nav nav-tabs&#34; id=&#34;nav-tab&#34; role=&#34;tablist&#34;&gt;
      &lt;input type=&#34;radio&#34; class=&#34;toggle&#34; name=&#34;tabs-1&#34; id=&#34;tabs-1-1&#34; checked=&#34;checked&#34; /&gt;
      &lt;label for=&#34;tabs-1-1&#34;&gt;Provide multiple images&lt;/label&gt;
      &lt;div class=&#34;book-tabs-content markdown-inner&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;input&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;OcrInput&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;InputType&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;SINGLE_IMAGE&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;input&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;add&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;page1.png&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;input&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;add&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;page2.png&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
      &lt;input type=&#34;radio&#34; class=&#34;toggle&#34; name=&#34;tabs-1&#34; id=&#34;tabs-1-2&#34;  /&gt;
      &lt;label for=&#34;tabs-1-2&#34;&gt;Provide scanned PDF&lt;/label&gt;
      &lt;div class=&#34;book-tabs-content markdown-inner&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;input&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;OcrInput&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;InputType&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;PDF&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Recognize pages 2 to 8&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;input&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;add&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;contract.pdf&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;7&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
      &lt;input type=&#34;radio&#34; class=&#34;toggle&#34; name=&#34;tabs-1&#34; id=&#34;tabs-1-3&#34;  /&gt;
      &lt;label for=&#34;tabs-1-3&#34;&gt;Apply processing filters&lt;/label&gt;
      &lt;div class=&#34;book-tabs-content markdown-inner&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Automatically deskew all images&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;filters&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;PreprocessingFilter&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;filters&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;add&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;PreprocessingFilter&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;auto_skew&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;())&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Prepare batch&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;input&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;OcrInput&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;InputType&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;SINGLE_IMAGE&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;filters&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;input&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;add&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;page1.png&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;input&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;add&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;page2.png&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
&lt;/nav&gt;


      </description>
    </item>
    
    <item>
      <title>Python: Recognition languages</title>
      <link>https://docs.aspose.com/ocr/python-net/languages/</link>
      <pubDate>Thu, 21 Nov 2024 00:00:00 +0000</pubDate>
      
      <guid>https://docs.aspose.com/ocr/python-net/languages/</guid>
      <description>
        
        
        

&lt;div class=&#34;alert alert-caution&#34; role=&#34;alert&#34;&gt;

&lt;p&gt;To recognize text in certain languages, you must &lt;a href=&#34;https://docs.aspose.com/ocr/ocr/python-net/modules/&#34;&gt;install&lt;/a&gt; additional recognition models:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Cyrillic text recognition: &lt;strong&gt;aspose-ocr-cyrillic-v1&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Chinese text recognition: &lt;strong&gt;aspose-ocr-chinese-v2&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Indic (Devanagari) text recognition: &lt;strong&gt;aspose-ocr-hindi-v2&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Arabic text recognition: &lt;strong&gt;aspose-ocr-arabic-v1&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Persian (Farsi) text recognition: &lt;strong&gt;aspose-ocr-arabic-v1&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Uyghur text recognition: &lt;strong&gt;aspose-ocr-arabic-v1&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Urdu text recognition: &lt;strong&gt;aspose-ocr-arabic-v1&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Japanese text recognition: &lt;strong&gt;aspose-ocr-japanese-v1&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Korean text recognition: &lt;strong&gt;aspose-ocr-korean-v1&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Kannada text recognition: &lt;strong&gt;aspose-ocr-kannada-v1&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Tamil text recognition: &lt;strong&gt;aspose-ocr-tamil-v1&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Telugu text recognition: &lt;strong&gt;aspose-ocr-telugu-v1&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Mixed-language Cyrillic/English recognition: &lt;strong&gt;aaspose-ocr-cyrillic-v2&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Mongolian text recognition: &lt;strong&gt;aspose-ocr-cyrillic-v1&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;

&lt;p&gt;Aspose.OCR for Python via .NET can recognize a text in a large number of languages and all popular writing scripts, including texts with mixed languages.&lt;/p&gt;
&lt;p&gt;To specify a language for recognition, provide one of the following values in &lt;code&gt;language&lt;/code&gt; property of recognition settings:&lt;/p&gt;


&lt;div class=&#34;alert alert-primary&#34; role=&#34;alert&#34;&gt;

Mixed-language Cyrillic/English text recognition is experimental. If you are absolutely sure about the text language (for example, Ukrainian), it is recommended to specify the language directly.
&lt;/div&gt;

&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Value&lt;/th&gt;
&lt;th&gt;Alphabet&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.MULTILANGUAGE&lt;/code&gt;&lt;br /&gt;&lt;code&gt;Aspose.OCR.Language.AUTO&lt;/code&gt;&lt;br /&gt;&lt;code&gt;Aspose.OCR.Language.UNIVERSAL&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Automatically detects the language. Supports multiple language families, including Latin, Cyrillic, Arabic, Chinese and more.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.EXT_LATIN&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Auto-detect &lt;a href=&#34;https://docs.aspose.com/ocr/ocr/python-net/supported-characters/#extended-latin&#34;&gt;all supported Latin characters&lt;/a&gt; and diacritics&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.CYRILLIC&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Auto-detect &lt;a href=&#34;https://docs.aspose.com/ocr/ocr/python-net/supported-characters/#cyrillic&#34;&gt;all supported Cyrillic characters&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.CHINESE&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;All Chinese languages. Mixed-language Chinese/English texts also supported.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.DEVANAGARI&lt;/code&gt;&lt;br /&gt;&lt;code&gt;Language.INDIC&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Indic texts based on Devanagari script, including mixed Devanagari/English texts.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.EUROPEAN&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Mixed-language Cyrillic/English texts (&lt;em&gt;experimental&lt;/em&gt;).&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.PERSO_ARABIC&lt;/code&gt;&lt;br /&gt;&lt;code&gt;Language.ISLAMIC&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Mixed-language texts with Arabic, Persian and English.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;code&gt;Language.AFR&lt;/code&gt; | Afrikaans
&lt;code&gt;Language.ALN&lt;/code&gt; | Albanian
&lt;code&gt;Language.ARA&lt;/code&gt; | Arabic, including texts in mixed Arabic/English
&lt;code&gt;Language.AWA&lt;/code&gt; | Awadhi
&lt;code&gt;Language.AZB&lt;/code&gt; | Azerbaijani (Azeri)
&lt;code&gt;Language.BCL&lt;/code&gt; | Bikol
&lt;code&gt;Language.BEL&lt;/code&gt; | Belarusan (Belorussian)
&lt;code&gt;Language.BEM&lt;/code&gt; | Bemba (Chibemba)
&lt;code&gt;Language.BEW&lt;/code&gt; | Betawi
&lt;code&gt;Language.BGC&lt;/code&gt; | Haryanvi
&lt;code&gt;Language.BHO&lt;/code&gt; | Bhojpuri
&lt;code&gt;Language.BHR&lt;/code&gt; | Malagasy
&lt;code&gt;Language.BJJ&lt;/code&gt; | Kanauji
&lt;code&gt;Language.BOS&lt;/code&gt; | Bosnian
&lt;code&gt;Language.BUL&lt;/code&gt; | Bulgarian
&lt;code&gt;Language.CAT&lt;/code&gt; | Catalan
&lt;code&gt;Language.CCX&lt;/code&gt; | Zhuang
&lt;code&gt;Language.CDO&lt;/code&gt; | Min Dong
&lt;code&gt;Language.CEB&lt;/code&gt; | Cebuano
&lt;code&gt;Language.CES&lt;/code&gt; | Czech
&lt;code&gt;Language.CHE&lt;/code&gt; | Chechen
&lt;code&gt;Language.CMN&lt;/code&gt; | Mandarin (Chinese)
&lt;code&gt;Language.CPX&lt;/code&gt; | Pu-Xian
&lt;code&gt;Language.DAN&lt;/code&gt; | Danish
&lt;code&gt;Language.DEU&lt;/code&gt; | German
&lt;code&gt;Language.DHD&lt;/code&gt; | Dhundari
&lt;code&gt;Language.DIQ&lt;/code&gt; | Dimli
&lt;code&gt;Language.DOC&lt;/code&gt; | Dong
&lt;code&gt;Language.ENG&lt;/code&gt; | English
&lt;code&gt;Language.EST&lt;/code&gt; | Estonian
&lt;code&gt;Language.FIN&lt;/code&gt; | Finnish
&lt;code&gt;Language.FRA&lt;/code&gt; | French
&lt;code&gt;Language.GAN&lt;/code&gt; | Gan
&lt;code&gt;Language.GAX&lt;/code&gt; | Oromo
&lt;code&gt;Language.GBM&lt;/code&gt; | Garhwali
&lt;code&gt;Language.GLG&lt;/code&gt; | Galician
&lt;code&gt;Language.GLK&lt;/code&gt; | Gilaki
&lt;code&gt;Language.GUZ&lt;/code&gt; | Gusii
&lt;code&gt;Language.HAK&lt;/code&gt; | Hakka
&lt;code&gt;Language.HAU&lt;/code&gt; | Hausa
&lt;code&gt;Language.HBS&lt;/code&gt; | Serbo-Croatian (Latin)
&lt;code&gt;Language.HIL&lt;/code&gt; | Hiligaynon
&lt;code&gt;Language.HIN&lt;/code&gt; | Hindi
&lt;code&gt;Language.HMN&lt;/code&gt; | Hmong
&lt;code&gt;Language.HNE&lt;/code&gt; | Chattisgarhi (Laria, Khaltahi)
&lt;code&gt;Language.HRV&lt;/code&gt; | Croatian
&lt;code&gt;Language.HSN&lt;/code&gt; | Xiang
&lt;code&gt;Language.HUN&lt;/code&gt; | Hungarian (Magyar)
&lt;code&gt;Language.ILO&lt;/code&gt; | Ilocano
&lt;code&gt;Language.IND&lt;/code&gt; | Indonesian
&lt;code&gt;Language.ITA&lt;/code&gt; | Italian
&lt;code&gt;Language.JPN&lt;/code&gt; | Japanese (mixed texts in Japanese and English are also supported)
&lt;code&gt;Language.KAN&lt;/code&gt; | Mixed-language Kannada/English texts.
&lt;code&gt;Language.KAZ&lt;/code&gt; | Kazakh
&lt;code&gt;Language.KBD&lt;/code&gt; | Kabardian
&lt;code&gt;Language.KFY&lt;/code&gt; | Kumauni
&lt;code&gt;Language.KIN&lt;/code&gt; | Rwanda
&lt;code&gt;Language.KLN&lt;/code&gt; | Nandi
&lt;code&gt;Language.KMR&lt;/code&gt; | Kurdish (Kurmanji)
&lt;code&gt;Language.KNC&lt;/code&gt; | Kanuri
&lt;code&gt;Language.KNN&lt;/code&gt; | Konkani
&lt;code&gt;Language.KON&lt;/code&gt; | Kikongo
&lt;code&gt;Language.KOR&lt;/code&gt; | Korean (mixed texts in Korean and English are also supported)
&lt;code&gt;Language.LATIN&lt;/code&gt; | Latin
&lt;code&gt;Language.LAV&lt;/code&gt; | Latvian
&lt;code&gt;Language.LIT&lt;/code&gt; | Lithuanian
&lt;code&gt;Language.LMN&lt;/code&gt; | Lamani (Lambadi)
&lt;code&gt;Language.LNC&lt;/code&gt; | Occitan
&lt;code&gt;Language.LUO&lt;/code&gt; | Luo
&lt;code&gt;Language.MAG&lt;/code&gt; | Magahi
&lt;code&gt;Language.MAI&lt;/code&gt; | Maithili
&lt;code&gt;Language.MAK&lt;/code&gt; | Makassar (Makasar)
&lt;code&gt;Language.MAR&lt;/code&gt; | Marathi
&lt;code&gt;Language.MER&lt;/code&gt; | Meru
&lt;code&gt;Language.MIN&lt;/code&gt; | Minangkabau
&lt;code&gt;Language.MLY&lt;/code&gt; | Malay (Melayu)
&lt;code&gt;Language.MNP&lt;/code&gt; | Min Bei
&lt;code&gt;Language.MON&lt;/code&gt; | Mongolian
&lt;code&gt;Language.MTQ&lt;/code&gt; | Muong
&lt;code&gt;Language.MTR&lt;/code&gt; | Mewari
&lt;code&gt;Language.MUI&lt;/code&gt; | Musi
&lt;code&gt;Language.MUP&lt;/code&gt; | Malvi
&lt;code&gt;Language.NAN&lt;/code&gt; | Min Nan
&lt;code&gt;Language.NBL&lt;/code&gt; | Ndebele
&lt;code&gt;Language.NDS&lt;/code&gt; | Low German
&lt;code&gt;Language.NEP&lt;/code&gt; | Nepali
&lt;code&gt;Language.NLD&lt;/code&gt; | Dutch
&lt;code&gt;Language.NOR&lt;/code&gt; | Norwegian
&lt;code&gt;Language.NSO&lt;/code&gt; | Sotho (Northern)
&lt;code&gt;Language.NYA&lt;/code&gt; | Chichewa (Chewa, Nyanja)
&lt;code&gt;Language.PAG&lt;/code&gt; | Pangasinan
&lt;code&gt;Language.PAM&lt;/code&gt; | Kapampangan
&lt;code&gt;Language.PCC&lt;/code&gt; | Bouyei (Buyi, Giáy)
&lt;code&gt;Language.PES&lt;/code&gt; | Persian (Farsi), including texts in mixed Persian/English
&lt;code&gt;Language.PLM&lt;/code&gt; | Palembang
&lt;code&gt;Language.POL&lt;/code&gt; | Polish
&lt;code&gt;Language.POR&lt;/code&gt; | Portuguese
&lt;code&gt;Language.QUC&lt;/code&gt; | K&amp;rsquo;iche&#39;
&lt;code&gt;Language.QXA&lt;/code&gt; | Quechua
&lt;code&gt;Language.RJB&lt;/code&gt; | Rajbanshi
&lt;code&gt;Language.RON&lt;/code&gt; | Romanian
&lt;code&gt;Language.RUF&lt;/code&gt; | Luguru
&lt;code&gt;Language.RUS&lt;/code&gt; | Russian
&lt;code&gt;Language.RWR&lt;/code&gt; | Marwari
&lt;code&gt;Language.SAS&lt;/code&gt; | Sasak
&lt;code&gt;Language.SLK&lt;/code&gt; | Slovak
&lt;code&gt;Language.SLV&lt;/code&gt; | Slovene (Slovenian)
&lt;code&gt;Language.SNA&lt;/code&gt; | Shona (Karanga)
&lt;code&gt;Language.SOM&lt;/code&gt; | Somali
&lt;code&gt;Language.SOT&lt;/code&gt; | Sotho (Southern)
&lt;code&gt;Language.SPA&lt;/code&gt; | Spanish
&lt;code&gt;Language.SRP&lt;/code&gt; | Serbian (Cyrillic)
&lt;code&gt;Language.SRR&lt;/code&gt; | Serer-Sine
&lt;code&gt;Language.SSW&lt;/code&gt; | Swati (Swazi)
&lt;code&gt;Language.SUK&lt;/code&gt; | Sukuma
&lt;code&gt;Language.SUN&lt;/code&gt; | Sundanese (Sunda)
&lt;code&gt;Language.SWE&lt;/code&gt; | Swedish
&lt;code&gt;Language.SWH&lt;/code&gt; | Swahili
&lt;code&gt;Language.TAM&lt;/code&gt; | Mixed-language Tamil/English texts.
&lt;code&gt;Language.TEL&lt;/code&gt; | Mixed-language Telugu/English texts.
&lt;code&gt;Language.TGL&lt;/code&gt; | Tagalog (Pilipino)
&lt;code&gt;Language.TOI&lt;/code&gt; | Tonga
&lt;code&gt;Language.TSN&lt;/code&gt; | Tswana
&lt;code&gt;Language.TSO&lt;/code&gt; | Tsonga
&lt;code&gt;Language.TUK&lt;/code&gt; | Turkmen
&lt;code&gt;Language.TUM&lt;/code&gt; | Tumbuka
&lt;code&gt;Language.TUR&lt;/code&gt; | Turkish
&lt;code&gt;Language.UIG&lt;/code&gt; | Uyghur, including texts in mixed Uyghur/English
&lt;code&gt;Language.UKR&lt;/code&gt; | Ukrainian
&lt;code&gt;Language.UMB&lt;/code&gt; | Umbundu
&lt;code&gt;Language.URD&lt;/code&gt; | Urdu, including texts in mixed Urdu/English
&lt;code&gt;Language.VIE&lt;/code&gt; | Vietnamese
&lt;code&gt;Language.VMW&lt;/code&gt; | Makua (Makhuwa)
&lt;code&gt;Language.WAL&lt;/code&gt; | Wolaytta
&lt;code&gt;Language.WAR&lt;/code&gt; | Waray-Waray
&lt;code&gt;Language.WBR&lt;/code&gt; | Wagdi
&lt;code&gt;Language.WTM&lt;/code&gt; | Mewati
&lt;code&gt;Language.WUU&lt;/code&gt; | Wu (Changzhou)
&lt;code&gt;Language.XHO&lt;/code&gt; | Xhosa
&lt;code&gt;Language.YAO&lt;/code&gt; | Yao
&lt;code&gt;Language.YOR&lt;/code&gt; | Yoruba
&lt;code&gt;Language.YUE&lt;/code&gt; | Cantonese
&lt;code&gt;Language.ZUL&lt;/code&gt; | Zulu&lt;/p&gt;
&lt;p&gt;If this parameter is omitted, the OCR engine will assume that the text is written in &lt;a href=&#34;https://docs.aspose.com/ocr/ocr/python-net/recognition-languages/#supported-characters&#34;&gt;extended Latin&lt;/a&gt;.&lt;/p&gt;


&lt;div class=&#34;alert alert-primary&#34; role=&#34;alert&#34;&gt;

Make sure you specify the correct language for the image. If you try to recognize Cyrillic text using &lt;code&gt;Language.ENG&lt;/code&gt;, only the characters that look the same in both languages (for example, &lt;code&gt;с&lt;/code&gt; and &lt;code&gt;c&lt;/code&gt;) will be correctly recognized. Other characters will be replaced with similar-looking alternatives.
&lt;/div&gt;

&lt;h2 id=&#34;example&#34;&gt;Example&lt;/h2&gt;
&lt;p&gt;The following code sample demonstrates how to specify the recognition language:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Instantiate Aspose.OCR API&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;api&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;AsposeOcr&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Add image to the recognition batch&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;input&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;OcrInput&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;InputType&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;SINGLE_IMAGE&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;input&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;add&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;source.png&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Recognize Ukrainian text&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;recognitionSettings&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;RecognitionSettings&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;recognitionSettings&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;language&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;Language&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;UKR&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Recognize the image&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;result&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;api&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;recognize&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;input&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;recognitionSettings&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Print recognition result&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;print&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;result&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;recognition_text&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;input&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;Press Enter to continue...&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
      </description>
    </item>
    
    <item>
      <title>Python: Image processing</title>
      <link>https://docs.aspose.com/ocr/python-net/image-processing/</link>
      <pubDate>Mon, 21 Aug 2023 00:00:00 +0000</pubDate>
      
      <guid>https://docs.aspose.com/ocr/python-net/image-processing/</guid>
      <description>
        
        
        &lt;style&gt;
	#filters-chain &gt; div {
		display: flex;
		align-items: center;
	}

	#filters-chain &gt; div &gt; label {
		margin: 0 0 0 7px;
		font-weight: 700;
	}

	.hidden {
		display: none !important;
	}
&lt;/style&gt;
&lt;p&gt;The accuracy and reliability of text recognition is highly dependent on the quality of the original image. Aspose.OCR for Python via .NET offers a large number of fully automated and manual image processing filters that enhance an image before it is sent to the OCR engine.&lt;/p&gt;
&lt;p&gt;Each filter increases recognition time. The approximate amount of additional time required for preprocessing (as a percentage of the minimum OCR pipeline) is listed in the &lt;strong&gt;Performance Impact&lt;/strong&gt; column.&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Filter&lt;/th&gt;
&lt;th&gt;Action&lt;/th&gt;
&lt;th&gt;Performance impact&lt;/th&gt;
&lt;th&gt;Usage scenarios&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;https://docs.aspose.com/ocr/ocr/python-net/deskew/#automatic-skew-correction&#34;&gt;Skew correction&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Automatically straighten images aligned at a slight angle to the horizontal.&lt;/td&gt;
&lt;td&gt;12%&lt;/td&gt;
&lt;td&gt;Skewed images&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;https://docs.aspose.com/ocr/ocr/python-net/deskew/#manual-skew-correction&#34;&gt;Rotation&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Manually rotate severely skewed images.&lt;/td&gt;
&lt;td&gt;7.5%&lt;/td&gt;
&lt;td&gt;Rotated images&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;https://docs.aspose.com/ocr/ocr/python-net/denoise/&#34;&gt;Noise removal&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Automatically remove dirt, spots, scratches, glare, unwanted gradients, and other noise from photos and scans.&lt;/td&gt;
&lt;td&gt;175% extra time;&lt;br /&gt;38% more memory &lt;sup&gt;(1)&lt;/sup&gt;&lt;/td&gt;
&lt;td&gt;Photos&lt;br /&gt;Old books&lt;br /&gt;Newspapers&lt;br /&gt;Postcards&lt;br /&gt;Documents with stains and dirt&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;https://docs.aspose.com/ocr/ocr/python-net/contrast/&#34;&gt;Contrast correction&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Automatically adjust the image contrast.&lt;/td&gt;
&lt;td&gt;7.5%&lt;/td&gt;
&lt;td&gt;Photos&lt;br /&gt;Old papers&lt;br /&gt;Text on a background&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;https://docs.aspose.com/ocr/ocr/python-net/resize/&#34;&gt;Resizing&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Proportionally scale images up / down, or manually define the width and height of the image.&lt;/td&gt;
&lt;td&gt;up to 100% &lt;sup&gt;(2)&lt;/sup&gt;&lt;/td&gt;
&lt;td&gt;Medication guides&lt;br /&gt;Food labels&lt;br /&gt;Full-sized photos from modern cameras and smartphones&lt;br /&gt;Scanned images at very high DPI&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;https://docs.aspose.com/ocr/ocr/python-net/binarization/&#34;&gt;Binarization&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Convert images to black and white automatically or manually adjust the criteria that determines whether a pixel is considered black or white.&lt;/td&gt;
&lt;td&gt;0.9%&lt;/td&gt;
&lt;td&gt;Always used for text detection and most automatic image corrections&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;https://docs.aspose.com/ocr/ocr/python-net/grayscale/&#34;&gt;Conversion to grayscale&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Discard color information from images and leave only shades of gray.&lt;/td&gt;
&lt;td&gt;0.5%&lt;/td&gt;
&lt;td&gt;Photos&lt;br /&gt;Scanned ID cards&lt;br /&gt;Full-color scans&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;https://docs.aspose.com/ocr/ocr/python-net/invert/&#34;&gt;Color inversion&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Swap image colors so that light areas appear dark and dark areas appear light.&lt;/td&gt;
&lt;td&gt;0.25%&lt;/td&gt;
&lt;td&gt;White text on black background&lt;br /&gt;Advertisements&lt;br /&gt;Business cards&lt;br /&gt;Screenshots&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;https://docs.aspose.com/ocr/ocr/python-net/dilate/&#34;&gt;Dilation&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Increase the thickness of characters in an image by adding pixels to the edges of high-contrast objects, such as letters.&lt;/td&gt;
&lt;td&gt;3.1%&lt;/td&gt;
&lt;td&gt;Receipts&lt;br /&gt;Printouts with very thin font&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;https://docs.aspose.com/ocr/ocr/python-net/median/&#34;&gt;Median filter&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Blur noisy images while preserving the edges of high-contrast objects like letters.&lt;/td&gt;
&lt;td&gt;6.25%&lt;/td&gt;
&lt;td&gt;Photos taken in low light conditions&lt;br /&gt;Poor quality printouts&lt;br /&gt;Highly compressed JPEG’s&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;https://docs.aspose.com/ocr/ocr/python-net/dewarp/&#34;&gt;Dewarping&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Straighten page curvature and fix camera lens distortion for page photos.&lt;br /&gt;&lt;strong&gt;This method requires significant resources and time!&lt;/strong&gt; Consider using it only if the image has geometric distortions preventing accurate recognition.&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;30-40 seconds&lt;/strong&gt;;&lt;br /&gt;&lt;strong&gt;Up to 4 times more memory&lt;/strong&gt; &lt;sup&gt;(3)&lt;/sup&gt;&lt;/td&gt;
&lt;td&gt;Photos of curved pages&lt;br /&gt;Ultra wide-angle and fisheye photos&lt;br /&gt;Photos from entry-level smartphones&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;


&lt;div class=&#34;alert alert-primary&#34; role=&#34;alert&#34;&gt;

&lt;p&gt;&lt;strong&gt;Notes&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Automatic noise removal uses a specialized neural network that consumes significant computing resources and RAM. Use it with care.&lt;/li&gt;
&lt;li&gt;Resizing takes between 6% and 100% more time than the minimum processing pipeline, depending on the original image size.&lt;/li&gt;
&lt;li&gt;Due to the high complexity of the underlying neural network, dewarping is resource- and time-intensive. Actual numbers may vary greatly depending on the performance of the computer and the characteristics of the original image.&lt;/li&gt;
&lt;/ol&gt;

&lt;/div&gt;

&lt;h2 id=&#34;chaining-processing-filters&#34;&gt;Chaining processing filters&lt;/h2&gt;
&lt;p&gt;Multiple processing filters can be applied to the same image to further improve the recognition quality. The filters are applied one by one in the order they are added to &lt;a href=&#34;https://reference.aspose.com/ocr/python-net/aspose.ocr.models.preprocessingfilters/preprocessingfilter/&#34;&gt;&lt;code&gt;PreprocessingFilter&lt;/code&gt;&lt;/a&gt; object.&lt;/p&gt;
&lt;p&gt;Note that each filter requires additional time and resources on the computer running the application. Do not add extra filters if you are satisfied with the recognition accuracy, especially when developing web applications.&lt;/p&gt;
&lt;div id=&#34;filters-chain&#34;&gt;
	&lt;div&gt;
		&lt;input type=&#34;checkbox&#34; id=&#34;threshold&#34; impact=&#34;0.9&#34; /&gt;
		&lt;label for=&#34;threshold&#34;&gt;Set binarization threshold&lt;/label&gt;
	&lt;/div&gt;
	&lt;div&gt;
		&lt;input type=&#34;checkbox&#34; id=&#34;deskew&#34; impact=&#34;12&#34; /&gt;
		&lt;label for=&#34;deskew&#34;&gt;Correct skew&lt;/label&gt;
	&lt;/div&gt;
	&lt;div&gt;
		&lt;input type=&#34;checkbox&#34; id=&#34;rotate&#34; impact=&#34;7.5&#34; /&gt;
		&lt;label for=&#34;rotate&#34;&gt;Rotate&lt;/label&gt;
	&lt;/div&gt;
	&lt;div&gt;
		&lt;input type=&#34;checkbox&#34; id=&#34;denoise&#34; impact=&#34;175&#34; /&gt;
		&lt;label for=&#34;denoise&#34;&gt;Remove noise&lt;/label&gt;
	&lt;/div&gt;
	&lt;div&gt;
		&lt;input type=&#34;checkbox&#34; id=&#34;contrast&#34; impact=&#34;7.5&#34; /&gt;
		&lt;label for=&#34;contrast&#34;&gt;Adjust contrast&lt;/label&gt;
	&lt;/div&gt;
	&lt;div&gt;
		&lt;input type=&#34;checkbox&#34; id=&#34;scale&#34; impact=&#34;6&#34; /&gt;
		&lt;label for=&#34;scale&#34;&gt;Scale&lt;/label&gt;
	&lt;/div&gt;
	&lt;div&gt;
		&lt;input type=&#34;checkbox&#34; id=&#34;resize&#34; impact=&#34;6&#34; /&gt;
		&lt;label for=&#34;resize&#34;&gt;Resize&lt;/label&gt;
	&lt;/div&gt;
	&lt;div&gt;
		&lt;input type=&#34;checkbox&#34; id=&#34;grayscale&#34; impact=&#34;0.5&#34; /&gt;
		&lt;label for=&#34;grayscale&#34;&gt;Convert to grayscale&lt;/label&gt;
	&lt;/div&gt;
	&lt;div&gt;
		&lt;input type=&#34;checkbox&#34; id=&#34;invert&#34; impact=&#34;0.25&#34; /&gt;
		&lt;label for=&#34;invert&#34;&gt;Invert colors&lt;/label&gt;
	&lt;/div&gt;
	&lt;div&gt;
		&lt;input type=&#34;checkbox&#34; id=&#34;dilate&#34; impact=&#34;3.1&#34; /&gt;
		&lt;label for=&#34;dilate&#34;&gt;Dilate&lt;/label&gt;
	&lt;/div&gt;
	&lt;div&gt;
		&lt;input type=&#34;checkbox&#34; id=&#34;median&#34; impact=&#34;6.25&#34; /&gt;
		&lt;label for=&#34;median&#34;&gt;Apply median filter&lt;/label&gt;
	&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&#34;highlight&#34; id=&#34;filters-code&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;filters&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;PreprocessingFilter&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34; id=&#34;threshold-code&#34; class=&#34;hidden&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;filters&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;add&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;(&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;PreprocessingFilter&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;threshold&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;({&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;THRESHOLD&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34; id=&#34;deskew-code&#34; class=&#34;hidden&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;filters&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;add&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;(&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;PreprocessingFilter&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;auto_skew&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;())&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34; id=&#34;rotate-code&#34; class=&#34;hidden&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;filters&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;add&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;(&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;PreprocessingFilter&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;rotate&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;({&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;ANGLE&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34; id=&#34;denoise-code&#34; class=&#34;hidden&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;filters&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;add&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;(&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;PreprocessingFilter&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;auto_denoising&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;())&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34; id=&#34;contrast-code&#34; class=&#34;hidden&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;filters&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;add&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;(&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;PreprocessingFilter&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;contrast_correction_filter&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;())&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34; id=&#34;scale-code&#34; class=&#34;hidden&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;filters&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;add&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;(&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;PreprocessingFilter&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;scale&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;({&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;RATIO&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34; id=&#34;resize-code&#34; class=&#34;hidden&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;filters&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;add&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;(&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;PreprocessingFilter&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;resize&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;({&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;WIDTH&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;HEIGHT&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34; id=&#34;grayscale-code&#34; class=&#34;hidden&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;filters&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;add&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;(&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;PreprocessingFilter&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;to_grayscale&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;())&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34; id=&#34;invert-code&#34; class=&#34;hidden&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;filters&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;add&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;(&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;PreprocessingFilter&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;invert&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;())&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34; id=&#34;dilate-code&#34; class=&#34;hidden&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;filters&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;add&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;(&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;PreprocessingFilter&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;dilate&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;())&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34; id=&#34;median-code&#34; class=&#34;hidden&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;filters&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;add&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;(&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;PreprocessingFilter&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;median&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;())&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Approximate increase of processing time: &lt;span id=&#34;impact-time&#34;&gt;0&lt;/span&gt;%&lt;/strong&gt;&lt;/p&gt;
&lt;h2 id=&#34;previewing-and-saving-processed-images&#34;&gt;Previewing and saving processed images&lt;/h2&gt;
&lt;p&gt;Aspose.OCR for Python via .NET offers an easy way to access or save processed images using the methods of the &lt;a href=&#34;https://reference.aspose.com/ocr/python-net/aspose.ocr/imageprocessing/&#34;&gt;&lt;code&gt;ImageProcessing&lt;/code&gt;&lt;/a&gt; class:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Method&lt;/th&gt;
&lt;th&gt;Return value&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;render()&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;https://reference.aspose.com/ocr/python-net/aspose.ocr/ocrinput/&#34;&gt;&lt;code&gt;OcrInput&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Applies processing filters to all images in a &lt;a href=&#34;https://docs.aspose.com/ocr/ocr/python-net/ocrinput/&#34;&gt;batch&lt;/a&gt; and returns a new batch with processed images. This batch can later be submitted for recognition or used for optimization.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;save()&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;https://reference.aspose.com/ocr/python-net/aspose.ocr/ocrinput/&#34;&gt;&lt;code&gt;OcrInput&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Applies processing filters to all images in &lt;a href=&#34;https://docs.aspose.com/ocr/ocr/python-net/ocrinput/&#34;&gt;batch&lt;/a&gt; and saves the resulting images in the specified folder. That method also returns a new batch with processed images, that can be later submitted for the recognition.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;You can use these methods to analyze the effectiveness of processing filters, exclude unnecessary filters that consume resources without affecting the result, or show the result of image processing in the user interface.&lt;/p&gt;


&lt;div class=&#34;alert alert-primary&#34; role=&#34;alert&#34;&gt;

&lt;ul&gt;
&lt;li&gt;Processing filters are applied to all images in the batch, including those without text.&lt;/li&gt;
&lt;li&gt;PDF documents can contain more than one image per page. Therefore, the resulting &lt;code&gt;OcrInput&lt;/code&gt; object can contain more images than the number of pages in the document.&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;

&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Set processing filters&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;filters&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;PreprocessingFilter&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;filters&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;add&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;PreprocessingFilter&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;auto_dewarping&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;())&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;filters&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;add&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;PreprocessingFilter&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;contrast_correction_filter&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;())&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Add all pages from a scanned PDF to OcrInput object and apply processing filters&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;input&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;OcrInput&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;InputType&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;PDF&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;filters&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;input&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;add&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;source.pdf&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Save processed images from the provided PDF to the &amp;#34;images&amp;#34; folder&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;ImageProcessing&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;save&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;input&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;images&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;script&gt;
window.addEventListener(&#34;load&#34;, function(){
	$(&#34;#filters-chain input&#34;).change(applyFilter);
});

function applyFilter()
{
	let status = $(this).prop(&#34;checked&#34;);
	switch($(this).attr(&#34;id&#34;))
	{
		case &#34;threshold&#34;:
			if(status) $(&#34;#threshold-code&#34;).removeClass(&#34;hidden&#34;);
			else $(&#34;#threshold-code&#34;).addClass(&#34;hidden&#34;);
			break;
		case &#34;deskew&#34;:
			if(status) $(&#34;#deskew-code&#34;).removeClass(&#34;hidden&#34;);
			else $(&#34;#deskew-code&#34;).addClass(&#34;hidden&#34;);
			if(status)
			{
				$(&#34;#rotate&#34;).prop(&#34;checked&#34;, false);
				$(&#34;#rotate-code&#34;).addClass(&#34;hidden&#34;);
			}
			break;
		case &#34;rotate&#34;:
			if(status) $(&#34;#rotate-code&#34;).removeClass(&#34;hidden&#34;);
			else $(&#34;#rotate-code&#34;).addClass(&#34;hidden&#34;);
			if(status)
			{
				$(&#34;#deskew&#34;).prop(&#34;checked&#34;, false);
				$(&#34;#deskew-code&#34;).addClass(&#34;hidden&#34;);
			}
			break;
		case &#34;denoise&#34;:
			if(status) $(&#34;#denoise-code&#34;).removeClass(&#34;hidden&#34;);
			else $(&#34;#denoise-code&#34;).addClass(&#34;hidden&#34;);
			break;
		case &#34;contrast&#34;:
			if(status) $(&#34;#contrast-code&#34;).removeClass(&#34;hidden&#34;);
			else $(&#34;#contrast-code&#34;).addClass(&#34;hidden&#34;);
			break;
		case &#34;scale&#34;:
			if(status) $(&#34;#scale-code&#34;).removeClass(&#34;hidden&#34;);
			else $(&#34;#scale-code&#34;).addClass(&#34;hidden&#34;);
			if(status)
			{
				$(&#34;#resize&#34;).prop(&#34;checked&#34;, false);
				$(&#34;#resize-code&#34;).addClass(&#34;hidden&#34;);
			}
			break;
		case &#34;resize&#34;:
			if(status) $(&#34;#resize-code&#34;).removeClass(&#34;hidden&#34;);
			else $(&#34;#resize-code&#34;).addClass(&#34;hidden&#34;);
			if(status)
			{
				$(&#34;#scale&#34;).prop(&#34;checked&#34;, false);
				$(&#34;#scale-code&#34;).addClass(&#34;hidden&#34;);
			}
			break;
		case &#34;grayscale&#34;:
			if(status) $(&#34;#grayscale-code&#34;).removeClass(&#34;hidden&#34;);
			else $(&#34;#grayscale-code&#34;).addClass(&#34;hidden&#34;);
			break;
		case &#34;invert&#34;:
			if(status) $(&#34;#invert-code&#34;).removeClass(&#34;hidden&#34;);
			else $(&#34;#invert-code&#34;).addClass(&#34;hidden&#34;);
			break;
		case &#34;dilate&#34;:
			if(status) $(&#34;#dilate-code&#34;).removeClass(&#34;hidden&#34;);
			else $(&#34;#dilate-code&#34;).addClass(&#34;hidden&#34;);
			break;
		case &#34;median&#34;:
			if(status) $(&#34;#median-code&#34;).removeClass(&#34;hidden&#34;);
			else $(&#34;#median-code&#34;).addClass(&#34;hidden&#34;);
			if(status)
			{
				$(&#34;#grayscale&#34;).prop(&#34;checked&#34;, false);
				$(&#34;#grayscale-code&#34;).addClass(&#34;hidden&#34;);
			}
			break;
		default:
			break;
	}
	let total=0;
	$(&#34;#filters-chain input&#34;).each(function(){
		let box = $(this);
		if(box.prop(&#34;checked&#34;)) total += parseFloat(box.attr(&#34;impact&#34;));
	});
	$(&#34;#impact-time&#34;).text(total);
}
&lt;/script&gt;&lt;blockquote&gt;
&lt;/blockquote&gt;

      </description>
    </item>
    
    <item>
      <title>Python: Language detecton</title>
      <link>https://docs.aspose.com/ocr/python-net/language_detection/</link>
      <pubDate>Mon, 03 Mar 2025 00:00:00 +0000</pubDate>
      
      <guid>https://docs.aspose.com/ocr/python-net/language_detection/</guid>
      <description>
        
        
        

&lt;div class=&#34;alert alert-caution&#34; role=&#34;alert&#34;&gt;

To use language detection, &lt;a href=&#34;https://docs.aspose.com/ocr/ocr/python-net/modules/&#34;&gt;install&lt;/a&gt; (&lt;strong&gt;aspose-ocr-language-classification-v1&lt;/strong&gt;) advanced OCR model to your project.
&lt;/div&gt;

&lt;p&gt;Aspose.OCR for .NET can automatically identify the following languages and language families used on the provided image using &lt;code&gt;detect_languages&lt;/code&gt; method:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Latin&lt;/li&gt;
&lt;li&gt;Cyrillic&lt;/li&gt;
&lt;li&gt;Arabic&lt;/li&gt;
&lt;li&gt;Chinese&lt;/li&gt;
&lt;li&gt;Japanese&lt;/li&gt;
&lt;li&gt;Korean&lt;/li&gt;
&lt;li&gt;Hindi&lt;/li&gt;
&lt;li&gt;Tamil&lt;/li&gt;
&lt;li&gt;Telugu&lt;/li&gt;
&lt;li&gt;Kannada&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The method accepts the collection of images in any of the &lt;a href=&#34;https://docs.aspose.com/ocr/ocr/python-net/supported-file-formats/&#34;&gt;supported formats&lt;/a&gt; and returns them as an array of &lt;code&gt;LanguageDetectionOutput&lt;/code&gt; objects with the following properties:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Property&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;source&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;string&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;The full path or URL of the source file. If the file is provided as a &lt;code&gt;MemoryStream&lt;/code&gt; object, an array of pixels, or a Base64 string, this value will be empty.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;page&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;int&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Page number. When working with single-page images, this value is always 0.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;languages&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Array of &lt;code&gt;DetectedLanguage&lt;/code&gt; objects&lt;/td&gt;
&lt;td&gt;Lists the &lt;a href=&#34;https://docs.aspose.com/ocr/ocr/python-net/languages/&#34;&gt;recognition languages&lt;/a&gt; detected in the image along with their probabilities.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;code&gt;DetectedLanguage&lt;/code&gt; objects contain the following properties:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Property&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;language &lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;Language&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;https://docs.aspose.com/ocr/ocr/python-net/languages/&#34;&gt;Detected language&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;accuracy &lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;float&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;The confidence level of the language detection, which can be used to assess the accuracy.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id=&#34;example&#34;&gt;Example&lt;/h2&gt;
&lt;p&gt;The following code sample demonstrates how to detect the image languages:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Instantiate Aspose.OCR API&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;api&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;AsposeOcr&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Add image to the recognition batch&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;input&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;OcrInput&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;InputType&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;SINGLE_IMAGE&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;input&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;add&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;source.png&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Detect languages&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;result&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;api&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;detect_languages&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;input&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;for&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;lang&lt;/span&gt; &lt;span class=&#34;ow&#34;&gt;in&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;result&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;languages&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nb&#34;&gt;print&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;lang&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;language&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nb&#34;&gt;print&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;lang&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;accuracy&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The following code sample demonstrates how to detect the image languages and recognize multilanguage image:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Instantiate Aspose.OCR API&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;api&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;AsposeOcr&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Add image to the recognition batch&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;input&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;OcrInput&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;InputType&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;SINGLE_IMAGE&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;input&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;add&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;source.png&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Set language detection&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;set&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;RecognitionSettings&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;set&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;language&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;Language&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;AUTO&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;set&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;language_detection_level&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;LanguageDetectionLevel&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;BY_WORD&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Detect languages and recognize image     &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;results&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;api&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;recognize&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;input&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;set&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;for&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;result&lt;/span&gt; &lt;span class=&#34;ow&#34;&gt;in&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;results&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nb&#34;&gt;print&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;result&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;recognition_text&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
      </description>
    </item>
    
    <item>
      <title>Python: Layout detecton</title>
      <link>https://docs.aspose.com/ocr/python-net/layout_detection/</link>
      <pubDate>Mon, 03 Mar 2025 00:00:00 +0000</pubDate>
      
      <guid>https://docs.aspose.com/ocr/python-net/layout_detection/</guid>
      <description>
        
        
        

&lt;div class=&#34;alert alert-caution&#34; role=&#34;alert&#34;&gt;

To use language detection, &lt;a href=&#34;https://docs.aspose.com/ocr/ocr/python-net/modules/&#34;&gt;install&lt;/a&gt; (&lt;strong&gt;aspose-ocr-document-structure-detection-v1.ocr&lt;/strong&gt;) advanced OCR model to your project.
&lt;/div&gt;

&lt;p&gt;Aspose.OCR for .NET can automatically analyze &lt;a href=&#34;https://docs.aspose.com/ocr/python-net/ocrinput/&#34;&gt;image&lt;/a&gt; content and identify the different types of layout blocks within it.&lt;/p&gt;
&lt;p&gt;Pass one or more images as &lt;code&gt;aspose.ocr.OcrInput&lt;/code&gt; object to &lt;code&gt;aspose.ocr.detect_document_layout&lt;/code&gt; method and get the layout blocks as &lt;code&gt;aspose.ocr.LayoutOutput&lt;/code&gt; object.&lt;/p&gt;
&lt;p&gt;The method accepts the collection of images in any of the &lt;a href=&#34;https://docs.aspose.com/ocr/ocr/python-net/supported-file-formats/&#34;&gt;supported formats&lt;/a&gt; and returns them as an array of &lt;code&gt;LayoutOutput&lt;/code&gt; objects with the following properties:&lt;/p&gt;
&lt;h4 id=&#34;asposeocrlayoutoutput&#34;&gt;&lt;code&gt;aspose.ocr.LayoutOutput&lt;/code&gt;&lt;/h4&gt;
&lt;p&gt;This class stores a layout block detected in an image.&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Property&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;source&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;string&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;The full path to the file or URL, if applicable. Empty for images provided as a stream, byte array, or Base64.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;page&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;int&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Page number for multi-page images.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;paragraphs&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Array of &lt;code&gt;ContentArea&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Detected paragraphs.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;images&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Array of &lt;code&gt;ContentArea&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Detected illustrations.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;headers&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Array of &lt;code&gt;ContentArea&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Detected headers.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;tables&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Array of &lt;code&gt;ContentArea&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Detected tables.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;lists&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Array of &lt;code&gt;ContentArea&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Detected lists.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;captions&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Array of &lt;code&gt;ContentArea&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Detected captions.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;equations&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Array of &lt;code&gt;ContentArea&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Detected equations.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h4 id=&#34;asposeocrcontentarea&#34;&gt;&lt;code&gt;Aspose.OCR.ContentArea&lt;/code&gt;&lt;/h4&gt;
&lt;p&gt;This class stores a layout block detected in an image.&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Property&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;index&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;int&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;The sequential index of the content area, unique within the entire image.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;rectangle&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;aspose.ocr.Rectangle&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;The bounding rectangle of the content area.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id=&#34;example&#34;&gt;Example&lt;/h2&gt;
&lt;p&gt;The following code sample demonstrates how to detect the image layout:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;### Detect layout on the image&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Instantiate Aspose.OCR API&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;api&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;AsposeOcr&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Add image to the recognition batch&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;input&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;OcrInput&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;InputType&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;SINGLE_IMAGE&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;input&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;add&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;source.png&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Detect layout&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;results&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;api&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;detect_document_layout&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;input&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Print result&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;for&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;result&lt;/span&gt; &lt;span class=&#34;ow&#34;&gt;in&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;results&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nb&#34;&gt;print&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;paragraphs:&amp;#34;&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;str&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;len&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;result&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;paragraphs&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nb&#34;&gt;print&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;images:&amp;#34;&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;str&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;len&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;result&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;images&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nb&#34;&gt;print&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;tables:&amp;#34;&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;str&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;len&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;result&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;tables&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nb&#34;&gt;print&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;headers:&amp;#34;&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;str&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;len&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;result&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;headers&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nb&#34;&gt;print&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;lists:&amp;#34;&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;str&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;len&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;result&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;lists&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nb&#34;&gt;print&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;captions:&amp;#34;&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;str&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;len&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;result&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;captions&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nb&#34;&gt;print&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;equations:&amp;#34;&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;str&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;len&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;result&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;equations&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Recognize only headers&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Set rectangles for recognition&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;set&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;RecognitionSettings&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;set&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;recognition_areas&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;area&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;rectangle&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;for&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;area&lt;/span&gt; &lt;span class=&#34;ow&#34;&gt;in&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;result&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;headers&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt; &lt;span class=&#34;c1&#34;&gt;# use paragraphs or any other areas&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Recognize areas (rectangles)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;results&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;api&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;recognize&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;input&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;set&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;for&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;result&lt;/span&gt; &lt;span class=&#34;ow&#34;&gt;in&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;results&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nb&#34;&gt;print&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;result&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;recognition_text&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;/code&gt;&lt;/pre&gt;
      </description>
    </item>
    
    <item>
      <title>Python: Defining recognized characters</title>
      <link>https://docs.aspose.com/ocr/python-net/characters/</link>
      <pubDate>Sat, 26 Aug 2023 00:00:00 +0000</pubDate>
      
      <guid>https://docs.aspose.com/ocr/python-net/characters/</guid>
      <description>
        
        
        &lt;p&gt;Aspose.OCR for Python via .NET supports a &lt;a href=&#34;https://docs.aspose.com/ocr/ocr/python-net/recognition-languages/&#34;&gt;large list&lt;/a&gt; of extended Latin, Cyrillic and Asian characters. However, a typical image contains no more than half of these characters. You can greatly improve the accuracy and performance of recognition by specifying which characters the OCR engine will look for.&lt;/p&gt;
&lt;p&gt;The full workflow is as follows:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&#34;https://docs.aspose.com/ocr/ocr/python-net/characters-identify/&#34;&gt;Identifying the characters on an image.&lt;/a&gt;&lt;br&gt;
Aspose.OCR provides detailed information about the characters found in the image and their possible alternatives.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://docs.aspose.com/ocr/ocr/python-net/characters-whitelist/&#34;&gt;Defining the whitelist of characters.&lt;/a&gt;&lt;br&gt;
Limit the set of characters Aspose.OCR engine will look for.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://docs.aspose.com/ocr/ocr/python-net/characters-blacklist/&#34;&gt;Defining the blacklist of characters.&lt;/a&gt;&lt;br&gt;
Explicitly ignore certain image defects that may be incorrectly recognized as characters.&lt;/li&gt;
&lt;/ol&gt;

      </description>
    </item>
    
    <item>
      <title>Python: Recognition settings</title>
      <link>https://docs.aspose.com/ocr/python-net/settings/</link>
      <pubDate>Wed, 30 Aug 2023 00:00:00 +0000</pubDate>
      
      <guid>https://docs.aspose.com/ocr/python-net/settings/</guid>
      <description>
        
        
        &lt;p&gt;Aspose.OCR for Python via .NET provides good recognition accuracy and performance by default. However, there will inevitably be cases where the default settings cannot provide reliable recognition results.&lt;/p&gt;
&lt;p&gt;To configure Aspose.OCR for Python via .NET recognition settings, specify an optional parameter for the recognition method. The parameter type depends on the recognition method.&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Parameter type&lt;/th&gt;
&lt;th&gt;Applicable to&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;https://docs.aspose.com/ocr/ocr/python-net/recognition-settings-common/&#34;&gt;&lt;code&gt;RecognitionSettings&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;https://docs.aspose.com/ocr/ocr/python-net/recognition/&#34;&gt;Extracting&lt;/a&gt; text from images, scanned PDFs, DjVu files and other content provided as &lt;a href=&#34;https://docs.aspose.com/ocr/ocr/python-net/ocrinput/&#34;&gt;&lt;code&gt;OcrInput&lt;/code&gt; object&lt;/a&gt;.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;https://docs.aspose.com/ocr/ocr/python-net/recognition-settings-receipt/&#34;&gt;&lt;code&gt;ReceiptRecognitionSettings&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Extracting text from &lt;a href=&#34;https://docs.aspose.com/ocr/ocr/python-net/recognition/receipt/&#34;&gt;receipts&lt;/a&gt;.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;https://docs.aspose.com/ocr/ocr/python-net/recognition-settings-id-card/&#34;&gt;&lt;code&gt;IDCardRecognitionSettings&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Extracting text from &lt;a href=&#34;https://docs.aspose.com/ocr/ocr/python-net/recognition/id-card/&#34;&gt;ID cards&lt;/a&gt;.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;https://docs.aspose.com/ocr/ocr/python-net/recognition-settings-passport/&#34;&gt;&lt;code&gt;PassportRecognitionSettings&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Extracting text from &lt;a href=&#34;https://docs.aspose.com/ocr/ocr/python-net/recognition/passport/&#34;&gt;passports&lt;/a&gt;.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;https://docs.aspose.com/ocr/ocr/python-net/recognition-settings-car-plate/&#34;&gt;&lt;code&gt;CarPlateRecognitionSettings&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Extracting text from &lt;a href=&#34;https://docs.aspose.com/ocr/ocr/python-net/recognition/car-plate/&#34;&gt;vehicle license plates&lt;/a&gt;.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;https://docs.aspose.com/ocr/ocr/python-net/recognition-settings-invoice/&#34;&gt;&lt;code&gt;InvoiceRecognitionSettings&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Extracting text from &lt;a href=&#34;https://docs.aspose.com/ocr/ocr/python-net/recognition/invoice/&#34;&gt;invoices&lt;/a&gt;.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;

      </description>
    </item>
    
    <item>
      <title>Python: Table recognition</title>
      <link>https://docs.aspose.com/ocr/python-net/table-recognition/</link>
      <pubDate>Thu, 27 Nov 2025 00:00:00 +0000</pubDate>
      
      <guid>https://docs.aspose.com/ocr/python-net/table-recognition/</guid>
      <description>
        
        
        &lt;p&gt;Aspose.OCR for Python via .NET now provides a dedicated API for detecting table layout and recognizing table data in images, scanned documents, screenshots, or photos.
To extract table text, simply call the universal &lt;a href=&#34;https://reference.aspose.com/ocr/python-net/aspose.ocr/asposeocr/#methods&#34;&gt;&lt;code&gt;aspose.ocr.AsposeOcr.recognize&lt;/code&gt;&lt;/a&gt; method with &lt;a href=&#34;https://reference.aspose.com/ocr/python-net/aspose.ocr/detectareasmode/&#34;&gt;&lt;code&gt;DetectAreasMode.TABLE&lt;/code&gt;&lt;/a&gt; settings.&lt;/p&gt;
&lt;p&gt;This method accepts an &lt;code&gt;OcrInput&lt;/code&gt; object and optional recognition settings.&lt;/p&gt;
&lt;p&gt;Recognition results are returned as a list of &lt;code&gt;aspose.ocr.RecognitionResult&lt;/code&gt; objects. Each result contains extracted table data, detected regions, and allows exporting to various formats.
Additionally, you can retrieve the table&amp;rsquo;s row and column structure using the &lt;a href=&#34;https://reference.aspose.com/ocr/python-net/aspose.ocr/ocroutput/&#34;&gt;&lt;code&gt;get_table_data()&lt;/code&gt;&lt;/a&gt; method.&lt;/p&gt;
&lt;h2 id=&#34;example&#34;&gt;Example&lt;/h2&gt;
&lt;p&gt;The following code example shows how to extract text from table and get rows and columns structure:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Instantiate Aspose.OCR API&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;api&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;AsposeOcr&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Add image to the recognition&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;input&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;OcrInput&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;InputType&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;SINGLE_IMAGE&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;input&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;add&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;source1.png&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Set areas detection mode&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;recognitionSettings&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;RecognitionSettings&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;recognitionSettings&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;detect_areas_mode&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;DetectAreasMode&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;TABLE&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Recognize the image&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;results&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;api&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;recognize&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;input&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;recognitionSettings&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Print recognition result&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;for&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;result&lt;/span&gt; &lt;span class=&#34;ow&#34;&gt;in&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;results&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nb&#34;&gt;print&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;result&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;recognition_text&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Print table rows cloumns&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt; &lt;span class=&#34;n&#34;&gt;table&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;  &lt;span class=&#34;n&#34;&gt;results&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;get_table_data&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;k&#34;&gt;for&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;page&lt;/span&gt; &lt;span class=&#34;ow&#34;&gt;in&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;table&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;pages&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;nb&#34;&gt;print&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;page:&amp;#34;&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;str&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;page&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;page_index&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;k&#34;&gt;for&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;row&lt;/span&gt; &lt;span class=&#34;ow&#34;&gt;in&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;page&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;rows&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                &lt;span class=&#34;nb&#34;&gt;print&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;row:&amp;#34;&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;str&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;row&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;row_index&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                &lt;span class=&#34;k&#34;&gt;for&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;cell&lt;/span&gt; &lt;span class=&#34;ow&#34;&gt;in&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;row&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;cells&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                    &lt;span class=&#34;nb&#34;&gt;print&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;cell:&amp;#34;&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;str&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;cell&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;column_index&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;+&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;: &amp;#34;&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;+&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;cell&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;text&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
      </description>
    </item>
    
    <item>
      <title>Python: Formula recognition</title>
      <link>https://docs.aspose.com/ocr/python-net/formula-recognition/</link>
      <pubDate>Thu, 27 Nov 2025 00:00:00 +0000</pubDate>
      
      <guid>https://docs.aspose.com/ocr/python-net/formula-recognition/</guid>
      <description>
        
        
        &lt;style&gt;
	button {
		cursor: pointer;
		margin-right: 20px;
		margin-bottom: 20px;
		padding: 7px 15px;
		border: none;
		border-radius: 5px;
		background-color: #1a89d0;
		font-weight: 700;
		font-size: 15px;
		color: #ffffff;
	}

	button:hover {
		background-color: #3071a9;
	}

	button:focus {
		outline: none;
	}

	.duo {
		display: flex;
		flex-direction: row;
		align-items: stretch;
		margin-bottom: 20px;
	}

	.duo &gt; * {
		margin-bottom: 0 !important;
	}

	.duo &gt; pre {
		display: none;
		margin-left: 15px;
		min-width: 300px;
	}
	
&lt;/style&gt;
&lt;p&gt;Aspose.OCR for Python via .NET now provides a dedicated API for detecting and recognizing mathematical formulas in images, scanned documents, screenshots, or photos.
To extract formula text, simply call the universal &lt;a href=&#34;https://reference.aspose.com/ocr/python-net/aspose.ocr/asposeocr/&#34;&gt;&lt;code&gt;aspose.ocr.AsposeOcr.recognize_formula&lt;/code&gt;&lt;/a&gt; method.&lt;/p&gt;
&lt;p&gt;This method accepts an &lt;code&gt;OcrInput&lt;/code&gt; object and optional recognition settings.
Internally, formula detection uses the &lt;a href=&#34;https://reference.aspose.com/ocr/python-net/aspose.ocr/detectareasmode/&#34;&gt;&lt;code&gt;DetectAreasMode.FORMULA&lt;/code&gt;&lt;/a&gt; mode to locate mathematical expressions before recognition.&lt;/p&gt;
&lt;p&gt;Recognition results are returned as a list of &lt;code&gt;aspose.ocr.RecognitionResult&lt;/code&gt; objects. Each result contains extracted formula text, detected regions, and allows exporting to various formats.&lt;/p&gt;
&lt;h2 id=&#34;detectareasmodeformula&#34;&gt;DetectAreasMode.FORMULA&lt;/h2&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Instantiate Aspose.OCR API&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;api&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;AsposeOcr&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Add image to the recognition&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;input&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;OcrInput&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;InputType&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;SINGLE_IMAGE&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;input&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;add&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;source1.png&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Set areas detection mode&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;recognitionSettings&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;RecognitionSettings&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;recognitionSettings&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;detect_areas_mode&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;DetectAreasMode&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;FORMULA&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Recognize the image&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;results&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;api&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;recognize&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;input&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;recognitionSettings&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Print recognition result&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;for&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;result&lt;/span&gt; &lt;span class=&#34;ow&#34;&gt;in&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;results&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nb&#34;&gt;print&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;result&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;recognition_text&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;recognizeformulaocrinput-images-bool-detectareas--true&#34;&gt;RecognizeFormula(OcrInput images, bool detectAreas = true)&lt;/h2&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Instantiate Aspose.OCR API&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;api&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;AsposeOcr&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Add image to the recognition&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;input&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;OcrInput&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;InputType&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;SINGLE_IMAGE&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;input&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;add&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;source1.png&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Recognize formulas with areas detection&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;results&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;api&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;recognize_formula&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;input&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;True&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Parameter bool detectAreas - if set to true, automatically detects and isolates formula regions before performing recognition. If false, processes the entire image as a formula.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Print recognition result&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;for&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;result&lt;/span&gt; &lt;span class=&#34;ow&#34;&gt;in&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;results&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nb&#34;&gt;print&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;result&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;recognition_text&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;live-demo&#34;&gt;Live demo&lt;/h2&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-csharp&#34; data-lang=&#34;csharp&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;recognitionEngine&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;recognize_formula&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;input&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;True&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;duo&#34;&gt;
&lt;img src=&#34;formula1.png&#34; alt=&#34;Formula with text&#34; /&gt;
&lt;img src=&#34;formula1_rect.jpg&#34; alt=&#34;Formulas regions&#34; style=&#34;display: none;&#34; /&gt;
&lt;pre class=&#34;rec-result&#34;&gt;
x_{c} ( t )=\\sin\left( 2 \\pi( 1 0 0 ) t \right)
T=1 / 4 0 0
x [ n ]
x [ n ]
x [ n ]=\\cos\left( {\\frac{\\pi} {4}} n \right) , \\qquad-\\infty&lt; n &lt; \\infty.
&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;&lt;button onclick=&#34;triggerRecogn(this)&#34;&gt;Extract formulas&lt;/button&gt;&lt;/p&gt;
&lt;script&gt;
	function triggerRecogn(obj)
	{
		let images = $(&#34;.duo &gt; img&#34;);
		let skewed = images.eq(0).is(&#34;:visible&#34;);
		if(skewed)
		{
			images.eq(1).show(100);
			images.eq(0).hide(100);
			$(obj).text(&#34;Revert to original image&#34;);
			$(&#39;.rec-result&#39;).slideDown(100);
		}
		else
		{
			images.eq(0).show(100);
			images.eq(1).hide(100);
			$(obj).text(&#34;Extract formulas&#34;);
			$(&#39;.rec-result&#39;).slideUp(100);
		}
	}
&lt;/script&gt;
&lt;h2 id=&#34;live-demo-1&#34;&gt;Live demo&lt;/h2&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-csharp&#34; data-lang=&#34;csharp&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;recognitionEngine&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;recognize_formula&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;input&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;False&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;duo&#34;&gt;
&lt;img src=&#34;formula2.png&#34; alt=&#34;Formula without text&#34; /&gt;
&lt;pre class=&#34;rec-result2&#34;&gt;
x [ n ]=\\cos\left( \\frac{\\pi} {4} n \right) . \\qquad-\\infty&lt; n &lt; \\infty.
&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;&lt;button onclick=&#34;$(&#39;.rec-result2&#39;).slideDown(100);&#34;&gt;Extract formulas&lt;/button&gt;&lt;/p&gt;

      </description>
    </item>
    
    <item>
      <title>Python: Content areas detection</title>
      <link>https://docs.aspose.com/ocr/python-net/areas-detection/</link>
      <pubDate>Fri, 18 Oct 2024 00:00:00 +0000</pubDate>
      
      <guid>https://docs.aspose.com/ocr/python-net/areas-detection/</guid>
      <description>
        
        
        &lt;p&gt;A scanned image or photograph of a text document may contain a large number of blocks of various content - text paragraphs, tables, illustrations, formulas, and the like. Detecting, ordering, and classifying areas of interest on a page is the cornerstone of successful and accurate OCR. This process is called &lt;em&gt;content areas detection&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;structure-analysis.png&#34; alt=&#34;Document structure analysis and recognition&#34;&gt;&lt;/p&gt;
&lt;p&gt;Aspose.OCR offers several content areas detection algorithms, allowing you to choose the one that works best for your specific content.&lt;/p&gt;
&lt;h2 id=&#34;area-detection-modes&#34;&gt;Area detection modes&lt;/h2&gt;
&lt;p&gt;You can manually override the default content areas detection method if you are unhappy with the results or get unwanted artifacts.&lt;/p&gt;
&lt;p&gt;Document structure analysis algorithm is specified in an optional &lt;a href=&#34;https://reference.aspose.com/ocr/python-net/aspose.ocr/recognitionsettings/detectareasmode/&#34;&gt;&lt;code&gt;DetectAreasMode&lt;/code&gt;&lt;/a&gt; parameter of &lt;a href=&#34;https://reference.aspose.com/ocr/python-net/aspose.ocr/recognitionsettings/&#34;&gt;recognition settings&lt;/a&gt;.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Instantiate Aspose.OCR API&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;api&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;AsposeOcr&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Add image to the recognition batch&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;input&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;OcrInput&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;InputType&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;SINGLE_IMAGE&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;input&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;add&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;source.png&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Set document areas detection mode&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;recognitionSettings&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;RecognitionSettings&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;recognitionSettings&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;detect_areas_mode&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;DetectAreasMode&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;MULTICOLUMN&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Recognize the image&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;result&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;api&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;recognize&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;input&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;recognitionSettings&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Print recognition result&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;print&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;result&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;recognition_text&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;input&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;Press Enter to continue...&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Aspose.OCR for Python via .NET supports the following document structure analysis methods provided in &lt;code&gt;DetectAreasMode&lt;/code&gt; enumeration:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Name&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;th&gt;Use cases&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;DetectAreasMode.UNIVERSAL&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Detects all blocks of text in the image, including sparse and irregular text on street photos. Used by default.&lt;br /&gt;See &lt;a href=&#34;https://docs.aspose.com/ocr/ocr/python-net/areas-detection/universal/&#34;&gt;&lt;strong&gt;DetectAreasMode.UNIVERSAL&lt;/strong&gt;&lt;/a&gt; for additional details.&lt;/td&gt;
&lt;td&gt;Photos&lt;br /&gt;Screenshots&lt;br /&gt;Advertisements&lt;br /&gt;Datasheets&lt;br /&gt;Street photos&lt;br /&gt;Price tags&lt;br /&gt;Food labels&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;DetectAreasMode.MULTICOLUMN&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Detects large blocks of text formatted in several columns.&lt;br /&gt;See &lt;a href=&#34;https://docs.aspose.com/ocr/ocr/python-net/areas-detection/multicolumn/&#34;&gt;&lt;strong&gt;DetectAreasMode.MULTICOLUMN&lt;/strong&gt;&lt;/a&gt; for additional details.&lt;/td&gt;
&lt;td&gt;Contracts&lt;br /&gt;Books&lt;br /&gt;Articles&lt;br /&gt;Newspapers&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;DetectAreasMode.LEAN&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Do not analyze document structure. Prioritizes speed and reduces resource consumption by omitting support for complex layouts.&lt;/td&gt;
&lt;td&gt;Simple images containing a few lines of text without illustrations or formatting.&lt;br /&gt;Applications requiring maximum recognition speed&lt;br /&gt;Web applications&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;DetectAreasMode.TABLE&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Detects cells in tabular structures.&lt;br /&gt;See &lt;a href=&#34;https://docs.aspose.com/ocr/ocr/python-net/areas-detection/table/&#34;&gt;&lt;strong&gt;DetectAreasMode.TABLE&lt;/strong&gt;&lt;/a&gt; for additional details.&lt;/td&gt;
&lt;td&gt;Tables&lt;br /&gt;Invoices&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;DetectAreasMode.CURVED_TEXT&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Auto-straightens curved lines and finds text blocks inside the resulting image.&lt;br /&gt;See &lt;a href=&#34;https://docs.aspose.com/ocr/ocr/python-net/areas-detection/curved_text/&#34;&gt;&lt;strong&gt;DetectAreasMode.CURVED_TEXT&lt;/strong&gt;&lt;/a&gt; for additional details.&lt;/td&gt;
&lt;td&gt;Photos of books, magazine articles, and other curved pages.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;

      </description>
    </item>
    
    <item>
      <title>Python: AsposeAI class</title>
      <link>https://docs.aspose.com/ocr/python-net/ai/</link>
      <pubDate>Sun, 14 Sep 2025 00:00:00 +0000</pubDate>
      
      <guid>https://docs.aspose.com/ocr/python-net/ai/</guid>
      <description>
        
        
        &lt;p&gt;The &lt;code&gt;AsposeAI&lt;/code&gt; class provides the bridge between LLM models and the OCR engine.&lt;/p&gt;
&lt;h3 id=&#34;-constructors&#34;&gt;🛠 Constructors&lt;/h3&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;AsposeAI&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;AsposeAI&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;logging&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;You can also pass optional logging and customization callbacks.&lt;/p&gt;
&lt;h3 id=&#34;configuration&#34;&gt;Configuration&lt;/h3&gt;
&lt;h3 id=&#34;-asposeaimodelconfig&#34;&gt;⚙️ AsposeAIModelConfig&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Property&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;allow_auto_download&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;string&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;If true, the model will be automatically downloaded if not available locally.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;directory_model_path&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;string&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Optional path where downloaded or processed models will be cached. If not set, a default system location will be used.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;file_model_path&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;string&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Local path to the folder containing the model files. If specified, this will be used instead of downloading. Default empty.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;hugging_face_quantization&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;string&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Optional quantization type to use when downloading from HuggingFace. Examples: “int8”, “fp16”, “none”. Default q4_k_m.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;hugging_face_repo_id&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;string&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;ID of the model on HuggingFace (e.g., “openai/gpt2”). If specified, the model will be downloaded from HuggingFace. Default bartowski/Qwen2.5-3B-Instruct-GGUF.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;context_size&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;int&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Defines the maximum number of tokens the LLM can use as context during inference. If null, the default context size defined by the model will be used. Larger values allow the model to consider more text but may require more memory.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;gpu_layers&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;int&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Number of GPU layers to use for the model. If not specified, the default value (40) will be used. Set to 0 to run entirely on the CPU.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&#34;-asposeai-class--core-methods&#34;&gt;🧠 AsposeAI Class – Core Methods&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Method&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;set_post_processor(processor, custom_settings)&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Adds a custom AI postprocessor to enhance OCR results.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;run_postprocessor(res)&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Enhances plain recognized text strings using registered AI modules.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;run_postprocessor(res)&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Enhances structured OCR output using registered AI modules.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;free_resources()&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Explicitly unloads AI models and clears memory.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;list_local()&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Lists all local AI models available in the configured folder.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;get_local_path()&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Returns the directory path of the current model location.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;is_initialized()&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Checks if the AI engine and model are ready to use.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;

      </description>
    </item>
    
    <item>
      <title>Python: Recognition</title>
      <link>https://docs.aspose.com/ocr/python-net/recognition/</link>
      <pubDate>Mon, 27 Jan 2025 00:00:00 +0000</pubDate>
      
      <guid>https://docs.aspose.com/ocr/python-net/recognition/</guid>
      <description>
        
        
        &lt;p&gt;Reading text from any content in Aspose.OCR for Python via .NET is as easy as calling a universal &lt;code&gt;recognize()&lt;/code&gt; method.&lt;/p&gt;
&lt;p&gt;This method takes &lt;a href=&#34;https://docs.aspose.com/ocr/ocr/python-net/ocrinput/&#34;&gt;&lt;code&gt;OcrInput&lt;/code&gt; object&lt;/a&gt; and optional &lt;a href=&#34;https://docs.aspose.com/ocr/ocr/python-net/recognition-settings-common/&#34;&gt;recognition settings&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Recognition results are returned as a &lt;code&gt;OcrOutput&lt;/code&gt; object, that allow you to perform advanced manipulations with recognition results, including &lt;a href=&#34;https://docs.aspose.com/ocr/ocr/python-net/spelling/&#34;&gt;automatic spelling correction&lt;/a&gt; and &lt;a href=&#34;https://docs.aspose.com/ocr/ocr/python-net/save/&#34;&gt;saving&lt;/a&gt; results in various formats.&lt;/p&gt;
&lt;h2 id=&#34;example&#34;&gt;Example&lt;/h2&gt;
&lt;p&gt;The following code example shows how to extract text from multiple images:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Instantiate Aspose.OCR API&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;api&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;AsposeOcr&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Add image to the recognition batch&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;input&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;OcrInput&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;InputType&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;SINGLE_IMAGE&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;input&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;add&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;source1.png&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;input&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;add&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;source2.png&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Set recognition language&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;recognitionSettings&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;RecognitionSettings&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;recognitionSettings&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;language&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;Language&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;UKR&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Recognize the image&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;results&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;api&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;recognize&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;input&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;recognitionSettings&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Print recognition result&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;for&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;result&lt;/span&gt; &lt;span class=&#34;ow&#34;&gt;in&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;results&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nb&#34;&gt;print&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;result&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;recognition_text&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
      </description>
    </item>
    
    <item>
      <title>Python: Defect detection</title>
      <link>https://docs.aspose.com/ocr/python-net/defect-detection/</link>
      <pubDate>Thu, 30 May 2024 00:00:00 +0000</pubDate>
      
      <guid>https://docs.aspose.com/ocr/python-net/defect-detection/</guid>
      <description>
        
        
        &lt;style&gt;
	button {
		cursor: pointer;
		margin-right: 20px;
		padding: 7px 15px;
		border: none;
		border-radius: 5px;
		background-color: #1a89d0;
		font-weight: 700;
		font-size: 15px;
		color: #ffffff;
	}

	button:hover {
		background-color: #3071a9;
	}

	button:focus {
		outline: none;
	}

	#sample {
		position: relative;
	}

	#sample &gt; div {
		position: absolute;
		display: none;
		border: dashed 1px #de4444;
		background-color: rgba(222,68,68,0.2);
	}

	#area1 {
		top: 0px;
		left: 0px;
		width: 60px;
		height: 50px;
	}

	#area2 {
		top: 0px;
		left: 560px;
		width: 220px;
		height: 590px;
	}

	#area3 {
		top: 550px;
		left: 0px;
		width: 90px;
		height: 40px;
	}
&lt;/style&gt;
&lt;p&gt;Image defects can significantly impact the accuracy of OCR. They can be caused by the quality of the image acquisition process, environmental conditions, and the hardware used to capture the image. To improve recognition accuracy, it is essential to &lt;a href=&#34;https://docs.aspose.com/ocr/ocr/python-net/image-processing/&#34;&gt;preprocess and enhance&lt;/a&gt; images to mitigate these defects whenever possible.&lt;/p&gt;
&lt;p&gt;Aspose.OCR for Python via .NET can automatically find potentially problematic areas of image and return the information on the type of defect and its coordinates. The following types of defects can be found:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Defect&lt;/th&gt;
&lt;th&gt;Enumeration&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;th&gt;Impact&lt;/th&gt;
&lt;th&gt;How to mitigate&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;https://en.wikipedia.org/wiki/Salt-and-pepper_noise&#34;&gt;Salt-and-pepper noise&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;DefectType.SALT_PEPPER_NOISE&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Appears as random white and black pixels scattered across the area. Often occurs in digital photographs.&lt;/td&gt;
&lt;td&gt;&lt;ul&gt;&lt;li&gt;Some characters are misidentified&lt;/li&gt;&lt;li&gt;Unnecessary dots or commas appear in recognition results&lt;/li&gt;&lt;/ul&gt;&lt;/td&gt;
&lt;td&gt;&lt;ul&gt;&lt;li&gt;Apply &lt;a href=&#34;https://docs.aspose.com/ocr/ocr/python-net/median/&#34;&gt;median filter&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Use &lt;a href=&#34;https://docs.aspose.com/ocr/ocr/python-net/denoise/&#34;&gt;automatic noise removal&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Low contrast between text and background&lt;/td&gt;
&lt;td&gt;&lt;code&gt;DefectType.LOW_CONTRAST&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Highlights and shadows typically appear on curved pages.&lt;/td&gt;
&lt;td&gt;&lt;ul&gt;&lt;li&gt;Low recognition accuracy&lt;/li&gt;&lt;li&gt;Text not recognized (ignored by OCR engine)&lt;/li&gt;&lt;/ul&gt;&lt;/td&gt;
&lt;td&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&#34;https://docs.aspose.com/ocr/ocr/python-net/contrast/&#34;&gt;Automatically adjust contrast&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&#34;https://docs.aspose.com/ocr/ocr/python-net/grayscale/&#34;&gt;Convert to grayscale&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&#34;https://docs.aspose.com/ocr/ocr/python-net/binarization/#using-binarization-threshold&#34;&gt;Binarize with high threshold&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Blur&lt;/td&gt;
&lt;td&gt;&lt;code&gt;DefectType.BLUR&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;The entire image or some of its areas are out of focus.&lt;br /&gt;&lt;strong&gt;Important:&lt;/strong&gt; This detection algorithm can only identify the entire image as blurry. Specific areas cannot be detected.&lt;/td&gt;
&lt;td&gt;&lt;ul&gt;&lt;li&gt;Characters are not recognized correctly&lt;/li&gt;&lt;li&gt;Text not recognized (ignored by OCR engine)&lt;/li&gt;&lt;/ul&gt;&lt;/td&gt;
&lt;td&gt;&lt;ul&gt;&lt;li&gt;Use &lt;a href=&#34;https://docs.aspose.com/ocr/ocr/python-net/contrast/&#34;&gt;automatic contrast correction&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&#34;https://docs.aspose.com/ocr/ocr/python-net/grayscale/&#34;&gt;Convert image to grayscale&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Glare&lt;/td&gt;
&lt;td&gt;&lt;code&gt;DefectType.GLARE&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Highlight areas in an image caused by uneven lighting, such as spot lights or flash.&lt;/td&gt;
&lt;td&gt;&lt;ul&gt;&lt;li&gt;Low recognition accuracy&lt;/li&gt;&lt;li&gt;Text not recognized (ignored by OCR engine)&lt;/li&gt;&lt;/ul&gt;&lt;/td&gt;
&lt;td&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&#34;https://docs.aspose.com/ocr/ocr/python-net/contrast/&#34;&gt;Automatically adjust contrast&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&#34;https://docs.aspose.com/ocr/ocr/python-net/grayscale/&#34;&gt;Convert to grayscale&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&#34;https://docs.aspose.com/ocr/ocr/python-net/binarization/#using-binarization-threshold&#34;&gt;Binarize with high threshold&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;em&gt;All supported defects&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;DefectType.ALL&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;All above-mentioned defects.&lt;/td&gt;
&lt;td&gt;See the corresponding defect for details.&lt;/td&gt;
&lt;td&gt;See the corresponding defect for details.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;You can highlight problem areas when previewing an image and even OCR them using alternative recognition settings to get a better result.&lt;/p&gt;
&lt;h2 id=&#34;detecting-defects&#34;&gt;Detecting defects&lt;/h2&gt;
&lt;p&gt;To find defects on images, provide the &lt;a href=&#34;https://docs.aspose.com/ocr/ocr/python-net/ocrinput/&#34;&gt;collection of images&lt;/a&gt; and specify the type of defect to &lt;code&gt;detect_defects()&lt;/code&gt; method.&lt;/p&gt;
&lt;p&gt;The method returns &lt;code&gt;DefectOutput&lt;/code&gt; object with the following properties:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Property&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;source&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;The full path to the file or URL, if any.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;page&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;The page number for multi-page images and PDFs.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;defect_areas&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;The list of image defects and areas where they were found.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Instantiate Aspose.OCR API&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;api&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;AsposeOcr&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Add image to the recognition batch&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;input&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;OcrInput&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;InputType&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;SINGLE_IMAGE&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;input&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;add&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;source.png&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Find shadows and highlights&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;defects&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;api&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;detect_defects&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;input&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;DefectType&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;LOW_CONTRAST&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;print&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;det&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;source&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;print&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;det&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;defect_areas&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;defect_type&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;live-demo&#34;&gt;Live demo&lt;/h2&gt;
&lt;div id=&#34;sample&#34;&gt;
	&lt;img src=&#34;demo.png&#34; alt=&#34;Low-contrast image&#34; /&gt;
	&lt;div id=&#34;area1&#34;&gt;&lt;/div&gt;
	&lt;div id=&#34;area2&#34;&gt;&lt;/div&gt;
	&lt;div id=&#34;area3&#34;&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;button onclick=&#34;extract(this)&#34;&gt;Detect shadows and highlights&lt;/button&gt;&lt;/p&gt;
&lt;script&gt;
	function extract(obj)
	{
		$(&#34;#sample &gt; div&#34;).show(200);
		$(&#34;#results&#34;).show(200);
	}
&lt;/script&gt;

      </description>
    </item>
    
    <item>
      <title>Python: Specialized recognition methods</title>
      <link>https://docs.aspose.com/ocr/python-net/specialized-recognition-methods/</link>
      <pubDate>Fri, 13 Oct 2023 00:00:00 +0000</pubDate>
      
      <guid>https://docs.aspose.com/ocr/python-net/specialized-recognition-methods/</guid>
      <description>
        
        
        &lt;p&gt;Aspose.OCR for Python via .NET offers fine-tuned OCR methods for extracting text from certain types of images:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://docs.aspose.com/ocr/ocr/python-net/recognition/id-card/&#34;&gt;Extracting text from ID cards&lt;/a&gt;&lt;br&gt;
Automatically read text from scanned or photographed ID cards.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://docs.aspose.com/ocr/ocr/python-net/recognition/passport/&#34;&gt;Extracting text from passports&lt;/a&gt;&lt;br&gt;
Digitize scans or photos of passports.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://docs.aspose.com/ocr/ocr/python-net/recognition/car-plate/&#34;&gt;Extracting text from vehicle license plates&lt;/a&gt;&lt;br&gt;
Reading vehicle license plates without manual retyping.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://docs.aspose.com/ocr/ocr/python-net/recognition/invoice/&#34;&gt;Extracting text from invoices&lt;/a&gt;&lt;br&gt;
Digitizing scanned invoices without manual retyping.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://docs.aspose.com/ocr/ocr/python-net/recognition/receipt/&#34;&gt;Extracting text from receipts&lt;/a&gt;&lt;br&gt;
Digitizing scanned receipts without manual retyping.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://docs.aspose.com/ocr/ocr/python-net/recognition/read-text-in-wild/&#34;&gt;Extracting text from street photos&lt;/a&gt;&lt;br&gt;
Extracting text from street photos, price tags, menus, catalogs and other images with sparse text and noisy/colored backgrounds.&lt;/li&gt;
&lt;/ul&gt;

      </description>
    </item>
    
    <item>
      <title>Python: Performance optimization</title>
      <link>https://docs.aspose.com/ocr/python-net/performance-optimization/</link>
      <pubDate>Fri, 15 Sep 2023 00:00:00 +0000</pubDate>
      
      <guid>https://docs.aspose.com/ocr/python-net/performance-optimization/</guid>
      <description>
        
        
        &lt;p&gt;Aspose.OCR for Python via .NET allows for very flexible balancing of recognition speed, quality, and resource usage for each use case:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://docs.aspose.com/ocr/ocr/python-net/fast-recognition/&#34;&gt;Fast recognition&lt;/a&gt; for simple and clear images, such as high-quality scans. About twice as fast as regular recognition.&lt;/li&gt;
&lt;li&gt;Extracting text from images which contain a &lt;a href=&#34;https://docs.aspose.com/ocr/ocr/python-net/recognize-single-line/&#34;&gt;single line of text&lt;/a&gt;. About 7 times faster than normal OCR.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://docs.aspose.com/ocr/ocr/python-net/multithreading/&#34;&gt;Limiting the number of threads&lt;/a&gt; used by the recognition engine.&lt;/li&gt;
&lt;li&gt;Fine-tuning &lt;a href=&#34;https://docs.aspose.com/ocr/ocr/python-net/image-processing/&#34;&gt;image processing filters&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://docs.aspose.com/ocr/ocr/python-net/settings/&#34;&gt;Customizing&lt;/a&gt; recognition accuracy, performance, and other settings.&lt;/li&gt;
&lt;/ul&gt;

      </description>
    </item>
    
    <item>
      <title>Python: Comparing text in images</title>
      <link>https://docs.aspose.com/ocr/python-net/image-text-compare/</link>
      <pubDate>Thu, 31 Aug 2023 00:00:00 +0000</pubDate>
      
      <guid>https://docs.aspose.com/ocr/python-net/image-text-compare/</guid>
      <description>
        
        
        &lt;p&gt;Aspose.OCR for Python via .NET can compare texts on two images, regardless of the font, text size, case, styles, and colors.&lt;/p&gt;
&lt;p&gt;To compare texts in 2 images, use &lt;code&gt;image_text_diff()&lt;/code&gt; method of &lt;a href=&#34;https://reference.aspose.com/ocr/python-net/aspose.ocr/asposeocr/&#34;&gt;&lt;code&gt;AsposeOcr&lt;/code&gt;&lt;/a&gt; class. This method allows you to optionally customize recognition accuracy, performance, and other &lt;a href=&#34;https://docs.aspose.com/ocr/ocr/python-net/recognition-settings-common/&#34;&gt;settings&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;image_text_diff()&lt;/code&gt; returns a number representing how similar the compared images are. The return value is a floating point number from 0 to 1; the lower the number, the more different image texts are. &lt;strong&gt;0&lt;/strong&gt; means that the texts are completely different; &lt;strong&gt;1&lt;/strong&gt; means the texts are identical. Fonts and styles are ignored.&lt;/p&gt;


&lt;div class=&#34;alert alert-primary&#34; role=&#34;alert&#34;&gt;

The difference between image texts is calculated as the &lt;a href=&#34;https://en.wikipedia.org/wiki/Levenshtein_distance&#34;&gt;Levenshtein distance&lt;/a&gt;. Simply put, it is the minimum number of changes required to transform one string into another by inserting, deleting or replacing a single character.
&lt;/div&gt;

&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Instantiate Aspose.OCR API&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;api&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;AsposeOcr&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Configure recognition settings&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;recognitionSettings&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;RecognitionSettings&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;recognitionSettings&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;auto_denoising&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Case-insensitive comparison of image texts&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;if&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;api&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;compare_image_texts&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;image1.png&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;image2.png&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;recognitionSettings&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;true&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;):&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;c1&#34;&gt;# Percentage of similarity between texts&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;distance&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;api&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;image_text_diff&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;image1.png&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;image2.png&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;recognitionSettings&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;true&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nb&#34;&gt;print&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;The image texts are &lt;/span&gt;&lt;span class=&#34;si&#34;&gt;{:.2%}&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt; similar&amp;#34;&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;format&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;distance&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;else&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nb&#34;&gt;print&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;Images contain the same text&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
      </description>
    </item>
    
    <item>
      <title>Python: Finding text in an image</title>
      <link>https://docs.aspose.com/ocr/python-net/find-text/</link>
      <pubDate>Thu, 31 Aug 2023 00:00:00 +0000</pubDate>
      
      <guid>https://docs.aspose.com/ocr/python-net/find-text/</guid>
      <description>
        
        
        &lt;p&gt;Aspose.OCR for Python via .NET makes searching for text in images as easy as finding the text fragment in a string. In a single line of code, you can search for a case-sensitive or case-insensitive string, and even validate an image text against a pattern.&lt;/p&gt;
&lt;p&gt;To search for a text in an image, use &lt;code&gt;image_has_text()&lt;/code&gt; method of &lt;a href=&#34;https://reference.aspose.com/ocr/python-net/aspose.ocr/asposeocr/&#34;&gt;&lt;code&gt;AsposeOcr&lt;/code&gt;&lt;/a&gt; class. The method either takes a text fragment or a regular expression and returns &lt;code&gt;true&lt;/code&gt; if the text is found or &lt;code&gt;false&lt;/code&gt; if not.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;image_has_text()&lt;/code&gt; method allows you to optionally customize recognition accuracy, performance, and other &lt;a href=&#34;https://docs.aspose.com/ocr/ocr/python-net/recognition-settings-common/&#34;&gt;settings&lt;/a&gt;.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Instantiate Aspose.OCR API&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;api&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;AsposeOcr&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Configure recognition settings&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;recognitionSettings&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;RecognitionSettings&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;recognitionSettings&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;auto_denoising&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Detect text&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;if&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;api&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;image_has_text&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;source.png&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;Aspose&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;recognitionSettings&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;):&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nb&#34;&gt;print&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;The image contains the word &lt;/span&gt;&lt;span class=&#34;se&#34;&gt;\&amp;#34;&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;Aspose&lt;/span&gt;&lt;span class=&#34;se&#34;&gt;\&amp;#34;&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;else&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nb&#34;&gt;print&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;The image doesn&amp;#39;t contain the word &lt;/span&gt;&lt;span class=&#34;se&#34;&gt;\&amp;#34;&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;Aspose&lt;/span&gt;&lt;span class=&#34;se&#34;&gt;\&amp;#34;&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
      </description>
    </item>
    
    <item>
      <title>Python: Working with image regions</title>
      <link>https://docs.aspose.com/ocr/python-net/image-regions/</link>
      <pubDate>Sat, 26 Aug 2023 00:00:00 +0000</pubDate>
      
      <guid>https://docs.aspose.com/ocr/python-net/image-regions/</guid>
      <description>
        
        
        &lt;p&gt;Aspose.OCR for Python via .NET allows you to find and read only certain areas of an image, not all text. This is very useful for batch processing uniform documents such as ID cards, visas, driver&amp;rsquo;s licenses, applications, and so on.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://docs.aspose.com/ocr/ocr/python-net/image-regions-paragraph-find/&#34;&gt;Automatic search for paragraph bounding boxes&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://docs.aspose.com/ocr/ocr/python-net/image-regions-line-find/&#34;&gt;Automatic search for line bounding boxes&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://docs.aspose.com/ocr/ocr/python-net/image-regions-word-find/&#34;&gt;Automatic search for word bounding boxes&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://docs.aspose.com/ocr/ocr/python-net/image-regions-character-find/&#34;&gt;Recognizing characters and automatically detecting their bounding boxes&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://docs.aspose.com/ocr/ocr/python-net/image-line-extract/&#34;&gt;Extracting lines with coordinates&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

      </description>
    </item>
    
    <item>
      <title>Python: Spell checker</title>
      <link>https://docs.aspose.com/ocr/python-net/spelling/</link>
      <pubDate>Sat, 02 Sep 2023 00:00:00 +0000</pubDate>
      
      <guid>https://docs.aspose.com/ocr/python-net/spelling/</guid>
      <description>
        
        
        &lt;p&gt;Although Aspose.OCR for Python via .NET provides high recognition accuracy, printing defects, dirt, or non-standard fonts may cause certain characters or words to be recognized incorrectly. To further improve recognition results, you can turn on spell checker, which finds and automatically corrects spelling errors.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://docs.aspose.com/ocr/ocr/python-net/automatic-spelling-correction/&#34;&gt;Automatic spelling correction&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://docs.aspose.com/ocr/ocr/python-net/misspelled-words-list/&#34;&gt;Getting the list of misspelled words&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://docs.aspose.com/ocr/ocr/python-net/dictionaries/&#34;&gt;Working with custom dictionaries&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

      </description>
    </item>
    
    <item>
      <title>Python: Saving recognition results</title>
      <link>https://docs.aspose.com/ocr/python-net/save/</link>
      <pubDate>Fri, 01 Sep 2023 00:00:00 +0000</pubDate>
      
      <guid>https://docs.aspose.com/ocr/python-net/save/</guid>
      <description>
        
        
        &lt;p&gt;Aspose.OCR for Python via .NET can save recognition results in multiple formats so they can be shared, stored in a database, displayed, or analyzed:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://docs.aspose.com/ocr/ocr/python-net/save-file/&#34;&gt;Saving recognition result as a file&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://docs.aspose.com/ocr/ocr/python-net/save-searchable-pdf/&#34;&gt;Saving recognition result as a searchable PDF&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://docs.aspose.com/ocr/ocr/python-net/save-text/&#34;&gt;Getting recognition results as text&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://docs.aspose.com/ocr/ocr/python-net/save-json/&#34;&gt;Getting recognition results as JSON&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://docs.aspose.com/ocr/ocr/python-net/save-xml/&#34;&gt;Getting recognition results as XML&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

      </description>
    </item>
    
    <item>
      <title>Python: Debug mode - Save processing results</title>
      <link>https://docs.aspose.com/ocr/python-net/debug/</link>
      <pubDate>Sun, 15 Jun 2025 00:00:00 +0000</pubDate>
      
      <guid>https://docs.aspose.com/ocr/python-net/debug/</guid>
      <description>
        
        
        &lt;p&gt;Aspose.OCR for Python via .NET provides a &lt;strong&gt;Debug Mode&lt;/strong&gt; that allows you to visually inspect how the input image is transformed during recognition.&lt;/p&gt;
&lt;p&gt;When debug mode is enabled, the library saves intermediate processing results as image files:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The &lt;strong&gt;preprocessed image&lt;/strong&gt; after filters (e.g., binarization, noise removal, resizing).&lt;/li&gt;
&lt;li&gt;The &lt;strong&gt;image with highlighted text regions&lt;/strong&gt;, where red rectangles mark detected text lines or blocks.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This feature is especially useful for troubleshooting recognition errors and fine-tuning preprocessing filters.&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Property&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;set_debug_mode&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Enables or disables debug image saving.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;set_debug_mode_save_directory&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Sets the target folder where images will be saved. If not set, the current working directory is used.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id=&#34;enabling-debug-mode&#34;&gt;Enabling debug mode&lt;/h2&gt;
&lt;p&gt;Debug mode is activated using two methods of the &lt;code&gt;AsposeOCR&lt;/code&gt; class:&lt;/p&gt;





&lt;nav&gt;
  &lt;div class=&#34;book-tabs nav nav-tabs&#34; id=&#34;nav-tab&#34; role=&#34;tablist&#34;&gt;
      &lt;input type=&#34;radio&#34; class=&#34;toggle&#34; name=&#34;tabs-1&#34; id=&#34;tabs-1-1&#34; checked=&#34;checked&#34; /&gt;
      &lt;label for=&#34;tabs-1-1&#34;&gt;Enable debug mode&lt;/label&gt;
      &lt;div class=&#34;book-tabs-content markdown-inner&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-java&#34; data-lang=&#34;java&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;from&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;aspose&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;ocr&lt;/span&gt; &lt;span class=&#34;kn&#34;&gt;import&lt;/span&gt; &lt;span class=&#34;err&#34;&gt;*&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;api&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;AsposeOcr&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;api&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;set_debug_mode_save_directory&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;C:/output/debug&amp;#34;&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;api&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;set_debug_mode&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;True&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;err&#34;&gt;#&lt;/span&gt;  &lt;span class=&#34;n&#34;&gt;Recognize&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;image&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;input&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;OcrInput&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;InputType&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;PDF&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;input&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;add&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;file&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;2&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;3&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;set&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;RecognitionSettings&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;result&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;api&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;recognize&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;input&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;set&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
&lt;/nav&gt;

&lt;h2 id=&#34;output-examples&#34;&gt;Output examples&lt;/h2&gt;
&lt;p&gt;When enabled, you will see image files like:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Preprocessed0.png – image after applying preprocessing filters&lt;/li&gt;
&lt;li&gt;DetectedTextLines0.png – the same image with red rectangles drawn around detected text areas&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Each image corresponds to the input from OcrInput.addImage(&amp;hellip;) or its index.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Notes&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Debug images do not affect recognition accuracy.&lt;/li&gt;
&lt;li&gt;This feature works with both automatic and manual preprocessing.&lt;/li&gt;
&lt;li&gt;If a temporary license is used, debug mode still functions as expected.&lt;/li&gt;
&lt;/ul&gt;

      </description>
    </item>
    
    <item>
      <title>Python: Monitoring</title>
      <link>https://docs.aspose.com/ocr/python-net/monitor/</link>
      <pubDate>Sat, 02 Sep 2023 00:00:00 +0000</pubDate>
      
      <guid>https://docs.aspose.com/ocr/python-net/monitor/</guid>
      <description>
        
        
        &lt;p&gt;Aspose.OCR for Python via .NET provides flexible ways to track the recognition process, check for non-fatal problems, and identify recognition errors.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://docs.aspose.com/ocr/ocr/python-net/identify-problems/&#34;&gt;Identifying recognition problems&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://docs.aspose.com/ocr/ocr/python-net/logging/&#34;&gt;Logging recognition events&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

      </description>
    </item>
    
  </channel>
</rss>
