OCR en línea

El reconocimiento óptico de caracteres es una forma inteligente de reconocer contenido en imágenes rasterizadas. Resulta aún más útil cuando se necesita conservar literatura de archivo antigua en formato digital. Se pueden conservar fácilmente libros de miles de años de antigüedad transformándolos en bibliotecas digitales mediante operaciones de OCR. Además, con el paso de los años, esta necesidad se ha vuelto omnipresente. Por lo tanto, para cumplir con este requisito, es necesario utilizar algún software listo para usar o, en caso de que necesite realizar operaciones en masa sin intervención humana, la forma más rápida y sencilla es utilizar una API de programación. En el resto del artículo, explicaremos los pasos para realizar OCR en imágenes utilizando la API REST de Python.

API REST de OCR en línea

Aspose.OCR Cloud SDK para Python es excepcional en lo que respecta al reconocimiento óptico de caracteres en imágenes rasterizadas (BMP, JPEG, GIF, PNG, TIFF).Al realizar operaciones de OCR, le permite leer los caracteres, así como la información de la fuente. Puede realizar el OCR en toda la imagen o en una parte específica, proporcionando las coordenadas X e Y. Una vez completado el reconocimiento óptico de caracteres, la respuesta se devuelve en formato XML o JSON y el texto extraído se puede guardar en formatos TXT, PDF y HOCR. A continuación, se especifican algunas características de alto nivel.

  • Corrección automática de sesgo
  • Detección automática y manual del diseño de documentos
  • Preprocesamiento automatizado avanzado de imágenes
  • Admite varios idiomas internacionales.
  • Alta velocidad sin recursos de hardware

Idiomas soportados

Además del idioma inglés, la API es totalmente capaz de reconocer texto en los idiomas francés, alemán, italiano, portugués y español.

Formatos de archivos admitidos

A continuación se especifica la lista completa de formatos de archivos que actualmente admite la API REST para operaciones de OCR.

.bmp, .dib, .jpeg, .jpg, .jpe, .jp2, .png, .webp, .pbm, .pgm, .ppm, .pxm, .pnm, .pfm, .sr, .ras, .tiff, .tif, .exr, .hdr, .pic

OCR en línea con Python

Nuestras API se desarrollan según la arquitectura REST, por lo que en esta sección, exploraremos la conversión de imagen a texto mediante comandos cURL. Entendemos que los comandos cURL son la forma flexible de acceder a las API REST a través de la consola. Ahora, uno de los requisitos previos es generar un token JWT. Para obtener más detalles relacionados, visite Cómo obtener un token JWT utilizando un ID de cliente y un secreto de cliente.

curl -v "https://api.aspose.cloud/oauth2/token" \-X POST \-d "grant_type=client_credentials&client_id=xxxxx-xxxx-xxx-xxxx-&client_secret=xxxxxxxxx" \-H "Content-Type: application/x-www-form-urlencoded" \ -H "Accept: application/json"

Una vez que tenga el token JWT, intente utilizar el siguiente comando para realizar una operación de OCR en una imagen ubicada en el almacenamiento en la nube, que contenga texto en inglés.

curl -X GET "https://api.aspose.cloud/v3.0/ocr/downsize.jpeg/recognize?language=1" -H "accept: application/json" -H "authorization: Bearer <JWT Token>"

Conversión de imagen a texto en una imagen local

En esta sección, realizaremos la operación de OCR en la imagen cargada desde la unidad local.

# Para obtener ejemplos completos y archivos de datos, visite https://github.com/aspose-ocr-cloud/aspose-ocr-cloud-python/
import os
import asposeocrcloud.api.storage_api
from asposeocrcloud.configuration import Configuration
from asposeocrcloud.api.ocr_api import OcrApi
from asposeocrcloud.models import OCRRect, OCRRegion, OCRRequestData, OCRRequestDataStorage, LanguageGroup
from asposeocrcloud.rest import ApiException

import json as json

class  RecognizeFromContent(object):

  def __init__(self):

      # Configurar clientes de API de CAD y almacenamiento 
      with open("config.json") as f:
          server_file_info = json.load(f)


      config = Configuration( apiKey=server_file_info['AppKey'],
                              appSid=server_file_info['AppSid'])      
      self.ocr_api = OcrApi(config)

  def recognize_text(self):
      file_name = "5.png"
      src = os.path.join(os.path.abspath("data/"), file_name)
      try:

          res = self.ocr_api.post_recognize_from_content(src)  # type: asposeocrcloud.models.OcrResponse
          return res.text

      except ApiException as ex:
          print("Exception")
          print("Info: " + str(ex))
          raise ex

obj=RecognizeFromContent()
print(obj.recognize_text())

OCR de Python en imágenes desde almacenamiento en la nube

Aprenderemos los detalles sobre cómo podemos cargar una imagen desde el almacenamiento en la nube y realizar OCR de imagen usando un fragmento de código Python.

# Para obtener ejemplos completos y archivos de datos, visite https://github.com/aspose-ocr-cloud/aspose-ocr-cloud-python/
import asposeocrcloud.api.storage_api
from asposeocrcloud.configuration import Configuration
from asposeocrcloud.api.ocr_api import OcrApi
from asposeocrcloud.models import OCRRect, OCRRegion, OCRRequestData, OCRRequestDataStorage, LanguageGroup

import json as json

class  RecognizeFromStorage(object):

    def __init__(self):

        # Configurar clientes de API de CAD y almacenamiento 
        with open("config.json") as f:
            server_file_info = json.load(f)
        config = Configuration( apiKey=server_file_info['AppKey'],
                                appSid=server_file_info['AppSid'])      
        self.ocr_api = OcrApi(config)
        self.storage_api= asposeocrcloud.api.storage_api.StorageApi(config)

    def recognize_text(self):
        self.storage_api.upload_file("5.png", r"data\5.png")
        res = self.ocr_api.get_recognize_from_storage("5.png")
        return res.text

obj=RecognizeFromStorage()
print(obj.recognize_text())

OCR de imágenes en URL

En caso de que se presente un requisito para realizar un reconocimiento óptico de imágenes en una imagen disponible en una URL web, la API es totalmente capaz y admite esta función. El método postrecognizefromurl de la API se puede utilizar para cumplir con este requisito.

# Para obtener ejemplos completos y archivos de datos, visite https://github.com/aspose-ocr-cloud/aspose-ocr-cloud-python/
import os
import asposeocrcloud.api.storage_api
from asposeocrcloud.configuration import Configuration
from asposeocrcloud.api.ocr_api import OcrApi
from asposeocrcloud.models import OCRRect, OCRRegion, OCRRequestData, OCRRequestDataStorage, LanguageGroup
from asposeocrcloud.rest import ApiException

import json as json

class  RecognizeFromURL(object):

    def __init__(self):
       
        # Configurar clientes de API de CAD y almacenamiento 
        with open("config.json") as f:
            server_file_info = json.load(f)        
        config = Configuration( apiKey=server_file_info['AppKey'],
                                appSid=server_file_info['AppSid'])      
        self.ocr_api = OcrApi(config)  
         
    def recognize_text(self):
        url = "https://upload.wikimedia.org/wikipedia/commons/2/2f/Book_of_Abraham_FirstPage.png"
        try:
            res = self.ocr_api.post_recognize_from_url(url)  # type: asposeocrcloud.models.OcrResponse
            return res.text

        except ApiException as ex:
            print("Exception")
            print("Info: " + str(ex))
            raise ex
                   
obj=RecognizeFromURL()
print(obj.recognize_text())

Conclusión

En este artículo, hemos aprendido los detalles sobre cómo realizar el reconocimiento óptico de caracteres en línea mediante el comando cURL y también mediante un fragmento de código de Python. Como nuestros SDK de la nube están creados bajo la licencia MIT, puede considerar descargar el código fuente completo desde el repositorio de GitHub. Este repositorio también incluye demostraciones gratuitas y, para ejecutarlas, siga los pasos que se indican a continuación.

  • Consulte el SDK o consígalo desde pip(pip install aspose-ocr-cloud)
  • Establezca su ID de cliente y su secreto de cliente
  • Ejecutar la consola Python Demo o UnitTests

Artículos relacionados

Le recomendamos visitar los siguientes enlaces para obtener más información sobre: