¿Por qué Aspose.OMR para C++?

Cree y reconozca formularios legibles por máquina de cualquier diseño y complejidad en aplicaciones locales, servicios web o en la nube. Nuestra solución es adecuada para proyectos de cualquier tamaño, desde simples encuestas y cuestionarios hasta exámenes finales y elecciones. Haga clic en los elementos a continuación para obtener más información sobre nuestras características y beneficios.

Illustration ocr

No se necesita equipo

Utilice la fotocopiadora de su oficina actual o incluso la cámara de un teléfono inteligente en lugar de un lector OMR especializado.

Personalización total

Personalice los formularios OMR agregando códigos QR y códigos de barras, imágenes, campos de firma y más generados automáticamente.

Resultados confiables

Los sólidos algoritmos ópticos de detección de marcas, junto con la capacidad de ajustar el reconocimiento, garantizan resultados 100 % precisos.

Solución completa

Aspose.OMR para C++ admite el flujo de trabajo completo de OMR, desde el diseño de un formulario hasta el reconocimiento de las copias impresas completas.

Fácil de usar para desarrolladores

Nuestra API es extremadamente fácil de usar incluso para desarrolladores sin experiencia. Una aplicación OMR sencilla se puede escribir en 10 líneas de código.

Ejemplo de código en vivo

Experimente la simplicidad: ¡convierta una imagen en texto en solo tres líneas de código C++!

Listo para reconocer Listo para reconocer Suelta un archivo aquí o haz clic para explorar *

* Al cargar tus archivos o utilizar el servicio, estás de acuerdo con nuestra Condiciones de uso y política de privacidad.

Resultado del reconocimiento
 

Convertir imagen a texto

Descubra más ejemplos >
  string file = "source.png";
  AsposeOCRInput source;
  source.url = file.c_str();
  vector<AsposeOCRInput> content = {source};
  
  RecognitionSettings settings;
  settings.language_alphabet = language::eng;
  
  size_t size = 0;
  wchar_t* buffer = asposeocr_serialize_result(result, size);
  wcout << wstring(buffer) << endl;

  asposeocr_free_result(result);

Potencia C++ en todas partes

Aspose.OCR para C++ funciona perfectamente en cualquier plataforma.

Microsoft Windows
Linux
MacOS
GitHub
Microsoft Azure
Amazon Web Services
Docker

Formatos de archivo admitidos

Aspose.OCR for C++ puede trabajar con prácticamente cualquier archivo puede obtenerlo de un escáner o una cámara. Los resultados del reconocimiento se devuelven en los formatos de intercambio de datos y archivos más populares que se pueden guardar, importar a una base de datos o analizar en tiempo real.

Imágenes

  • JPEG
  • PNG
  • TIFF
  • BMP

OCR por lotes

  • Multi-page PDF
  • ZIP
  • Folder

Resultados del reconocimiento

  • Text
  • PDF
  • Microsoft Word
  • Microsoft Excel
  • RTF
  • JSON
  • XML

Instalación

Aspose.OCR para C++ se distribuye como un paquete NuGet o como un archivo descargable con dependencias mínimas. Instálelo fácilmente en su proyecto y estará listo para reconocer textos en varios idiomas admitidos y guardar los resultados del reconocimiento en varios formatos.

Solicite una licencia de prueba para iniciar el desarrollo de una aplicación de OCR completamente funcional y sin limitaciones.

Potencia de C++ en todos los ámbitos

Nuestra biblioteca es totalmente compatible con C++11 y versiones posteriores, lo que permite que sus aplicaciones se ejecuten sin problemas en cualquier plataforma: Windows de escritorio, Windows Server, macOS, Linux y la nube.

28 idiomas de reconocimiento

Nuestra API de OCR en C++ reconoce una gran cantidad de lenguajes y scripts de escritura populares, incluidos lenguajes mixtos:

Deje la detección de idioma en manos de la biblioteca o defina el idioma usted mismo para mejorar el rendimiento y la confiabilidad del reconocimiento.

  • Alfabeto latino extendido: alemán, croata, checo, danés, holandés, inglés, estonio, finlandés, francés, alemán, italiano, letón, lituano, noruego, polaco, portugués, rumano, eslovaco, esloveno, español, sueco;
  • Alfabeto cirílico: bielorruso, búlgaro, kazajo, ruso, serbio, ucraniano;
  • Chino: más de 6000 caracteres;
  • Hindi.

Características y capacidades que potencian

Aspose.OCR for C++ Descubra las funciones y capacidades avanzadas de Aspose.OCR para C++.

Feature icon

OCR de fotos

Extraiga texto de fotografías de teléfonos inteligentes con precisión a nivel de escaneo.

Feature icon

PDF con capacidad de búsqueda

Convierta cualquier escaneo en un documento indexable y con capacidad de búsqueda completa.

Feature icon

reconocimiento de URL

Reconocer una imagen desde la URL sin descargarla localmente.

Feature icon

Reconocimiento masivo

Lea todas las imágenes de documentos, carpetas y archivos de varias páginas.

Feature icon

Cualquier fuente y estilo

Identifique y reconozca texto en todos los tipos de letra y estilos populares.

Feature icon

Reconocimiento preciso

Ajuste todos los parámetros de OCR para obtener mejores resultados de reconocimiento.

Feature icon

Corrector ortográfico

Mejore los resultados corrigiendo automáticamente las palabras mal escritas.

Feature icon

Buscar texto en imágenes

Busque texto o expresión regular dentro de un conjunto de imágenes.

Feature icon

Comparar textos de imágenes

Compare textos en dos imágenes, independientemente del caso y el diseño.

Feature icon

Limitar el alcance del reconocimiento

Limite el conjunto de caracteres que buscará el motor de OCR.

Feature icon

Detectar defectos de imagen

Encuentre automáticamente áreas de imagen potencialmente problemáticas.

Feature icon

Reconocer áreas

Busque y lea solo áreas específicas de una imagen, no todo el texto.

Ejemplos de código C++

Profundice en ejemplos de código para integrar perfectamente Aspose.OCR para C++ en sus aplicaciones.

Dominio de la instalación de C++

Como archivo ligero C++ Archive (LIB) o archivo descargable con dependencias mínimas, Aspose.OCR para C++ se distribuye fácilmente. La integración en su proyecto, directamente desde su entorno de desarrollo integrado (IDE) C++ preferido, es un proceso perfecto. Simplemente instálelo y estará preparado para aprovechar la gama completa de capacidades de OCR, guardando los resultados del reconocimiento en cualquiera de los formatos admitidos.

Después de la instalación, podrá comenzar a usar Aspose.OCR para C++ inmediatamente. , aunque con ciertas limitaciones. Una licencia temporal elimina todas las restricciones de la versión de prueba durante 30 días. Utilice este período para iniciar el desarrollo de una aplicación de OCR completamente funcional, lo que le permitirá tomar una decisión informada sobre la compra de Aspose.OCR para C++ en una etapa posterior.

OCR para fotos en C++

Supere el desafío de las aplicaciones de OCR que carecen de escáneres generalizados. Nuestra API cuenta con potentes filtros de preprocesamiento de imágenes integrados que manejan hábilmente imágenes rotadas, sesgadas y ruidosas. Combinado con la compatibilidad con todos los formatos de imagen, garantiza un reconocimiento fiable incluso a partir de fotografías de teléfonos inteligentes. La mayoría del preprocesamiento y corrección de imágenes están automatizados y requieren su intervención solo en casos difíciles. También puede predefinir regiones de imágenes con las que trabajar.

Establecer un ángulo personalizado para la corrección de inclinación y definir regiones de reconocimiento - C++

string file = "photo.png";
AsposeOCRInput source;
source.url = file.c_str();
std::vector<AsposeOCRInput> content = { source };

// Fine-tune recognition
RecognitionSettings settings;
settings.detect_areas_mode = detect_areas_mode_enum::PHOTO;

// Extract text from the photo
auto result = asposeocr_recognize(content.data(), content.size(), settings);

// Output the recognized text
wchar_t* buffer = asposeocr_serialize_result(result, buffer_size, export_format::text);
std::wcout << std::wstring(buffer) << std::endl;

// Release the resources
asposeocr_free_result(result);

Reconocer texto en áreas específicas de la imagen.

Defina regiones específicas para el reconocimiento de texto, mejorando la precisión. Adapte el reconocimiento para centrarse en áreas críticas, optimizando los resultados en su flujo de trabajo de procesamiento de imágenes.

Definir regiones de reconocimiento para OCR - C++

// Original image
std::string image_path = "../Data/Source/sample.png";
rect rectangles[2] = { {90, 186, 775, 95} , { 928, 606, 790, 160 } };

// Prepare buffer for result
const size_t len = 4096;
wchar_t buffer[len] = { 0 };

// Adjust skew angle
RecognitionSettings settings;
settings.format = export_format::text;
settings.rectangles = rectangles;
settings.rectangles_size = 2;
settings.skew = 5;

// Recognize image
size_t res_len = aspose::ocr::page_settings(image_path.c_str(), buffer, len, settings);

Convertir un escaneo en un documento editable

Si bien muchas empresas, organizaciones e individuos han estado trabajando activamente para reducir su dependencia de los documentos en papel, este sigue siendo el formato más extendido para almacenar y compartir. Los documentos escaneados respaldados por archivos físicos son suficientes para el cumplimiento normativo, fines legales, copias de seguridad a largo plazo y redundancia. Sin embargo, con frecuencia surgen casos de negocios para la creación de nuevos documentos basados ​​en contenido escaneado existente o partes de documentos existentes.

Aspose.OCR para С++ facilita la conversión de una imagen escaneada o un PDF basado en imágenes en un documento DOCX o RTF editable o en una hoja de cálculo de Microsoft Excel (XLSX). El contenido se reconoce con alta precisión y velocidad, lo que le ahorra el tiempo y el esfuerzo de escribir manualmente y garantiza que no haya errores humanos, especialmente cuando se trabaja con grandes volúmenes de texto.

Convertir una imagen escaneada en un documento de texto editable - C++

// Provide the folder with scanned pages
directory dir("./scans/");
const string current_dir = dir.full_name();
const string image = current_dir + "p.png";
const size_t len = 6000;
wchar_t buffer[len] = { 0 };

// Recognize and save results to Microsoft Word document
RecognitionSettings settings;
settings.save_format = file_format::docx;
asposeocr_page_save(image.c_str(), "result.docx", settings);

Detectar defectos de imagen

Los defectos de la imagen pueden afectar significativamente la precisión del OCR. Pueden deberse a la calidad del proceso de adquisición de imágenes, las condiciones ambientales y el hardware utilizado para capturar la imagen. Para mejorar la precisión del reconocimiento, es esencial preprocesar y mejorar las imágenes para mitigar estos defectos siempre que sea posible.

Aspose.OCR para C++ puede encontrar automáticamente áreas de imagen potencialmente problemáticas durante el reconocimiento. Puede resaltar áreas problemáticas al obtener una vista previa de una imagen e incluso realizar OCR utilizando configuraciones de reconocimiento alternativas para obtener un mejor resultado.

Reconocer texto en imágenes borrosas, distorsionadas y de bajo contraste - C++

// Provide the image
string file = "source.png";
AsposeOCRInput source;
source.url = file.c_str();
vector<AsposeOCRInput> content = {source};

// Activate detection of low-contrast areas
RecognitionSettings settings;
settings.defect_type = defect_type::ASPOSE_OCR_DETECT_DARK_IMAGES;

// Find and show low-contrast areas
AsposeOCRRecognitionResult result = asposeocr_recognize(content.data(), content.size(), settings);
for (size_t p_number = 0; p_number < result.pages_amount; ++p_number)
{
  cout << "Page " << p_number << ";\n";
  const auto& page = result.recognized_pages[p_number];
  for (size_t defect_number = 0; defect_number < page.defects_count; ++defect_number)
  {
    const auto& defect_area = page.defect_areas[defect_number];
    cout << "Low-contrast area " << defect_number << ":" << defect_area.area << std::endl;
  }
}

// Release the resources
asposeocr_free_result(result);

Procesamiento por lotes

La API de OCR le libera de reconocer cada imagen una por una al ofrecer varios métodos de procesamiento por lotes que le permiten reconocer varias imágenes en una sola llamada:

  • Reconocimiento de archivos PDF y TIFF de varias páginas.
  • Reconocimiento de todos los archivos de una carpeta.
  • Reconocimiento de todos los archivos de un archivo.

Reconocer archivo ZIP - C++

// Provide a ZIP archive
string file = "pages.zip";
AsposeOCRInput source;
source.url = file.c_str();
std::vector<AsposeOCRInput> content = { source };

// Fine-tune recognition
RecognitionSettings settings;
settings.detect_areas_mode = detect_areas_mode_enum::COMBINE;

// Extract texts
auto result = asposeocr_recognize(content.data(), content.size(), settings);

Opción de detección de texto

Puede dividir los resultados del reconocimiento en líneas y detectar áreas de texto en una página.

Detectar texto en imagen - C++

size_t res_len = asposeocr_get_rectangles_number(image_path.c_str(), areas_type::lines, false);
rect* rectangles = new rect[res_len];
res_len = asposeocr_get_rectangles(image_path.c_str(), areas_type::lines, false, rectangles, res_len);