Por que Aspose.OMR para C++?

Crie e reconheça formulários legíveis por máquina de qualquer layout e complexidade em aplicativos locais, serviços Web ou na nuvem. Nossa solução é adequada para projetos de qualquer porte – desde simples pesquisas e questionários até exames finais e eleições. Clique nos itens abaixo para saber mais sobre nossos recursos e benefícios.

Illustration ocr

Nenhum equipamento necessário

Use sua copiadora de escritório existente ou até mesmo uma câmera de smartphone em vez de um leitor OMR especializado.

Personalização total

Personalize formulários OMR adicionando códigos QR e códigos de barras gerados automaticamente, imagens, campos de assinatura e muito mais.

Resultados confiáveis

Algoritmos robustos de detecção de marcas ópticas, juntamente com a capacidade de ajuste fino do reconhecimento, garantem resultados 100% precisos.

Solução completa

Aspose.OMR para C++ suporta o fluxo de trabalho completo do OMR - desde a criação de um formulário até o reconhecimento de suas cópias impressas preenchidas.

Amigável ao desenvolvedor

Nossa API é extremamente fácil de usar, mesmo para desenvolvedores inexperientes. Um aplicativo OMR simples pode ser escrito em 10 linhas de código.

Amostra de código ativo

Experimente a simplicidade: converta uma imagem em texto em apenas três linhas de código C++!

Pronto para reconhecer Pronto para reconhecer Solte um arquivo aqui ou clique para navegar *

* Ao enviar seus arquivos ou usar o serviço você concorda com nosso Termos de uso e política de Privacidade.

Resultado de reconhecimento
 

Converter imagem em texto

Descubra mais exemplos >
  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);

Poder C++ em todos os lugares

Aspose.OCR para C++ funciona perfeitamente em qualquer plataforma.

Microsoft Windows
Linux
MacOS
GitHub
Microsoft Azure
Amazon Web Services
Docker

Formatos de arquivo suportados

Aspose.OCR for C++ pode trabalhar com praticamente qualquer arquivo você pode obter de um scanner ou câmera. Os resultados do reconhecimento são retornados nos formatos mais populares de arquivos e troca de dados que podem ser salvos, importados para um banco de dados ou analisados ​​em tempo real.

Imagens

  • JPEG
  • PNG
  • TIFF
  • BMP

OCR em lote

  • Multi-page PDF
  • ZIP
  • Folder

Resultados de reconhecimento

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

Instalação

Aspose.OCR para C++ é distribuído como um pacote NuGet ou como um arquivo para download com dependências mínimas. Instale facilmente em seu projeto e você estará pronto para reconhecer textos em vários idiomas suportados e salvar resultados de reconhecimento em vários formatos.

Solicite uma licença de teste para iniciar o desenvolvimento de um aplicativo OCR totalmente funcional e sem limitações.

Poder C++ em toda a linha

Nossa biblioteca oferece suporte total a C++ 11 e versões posteriores, permitindo que seus aplicativos sejam executados perfeitamente em qualquer plataforma – desktop Windows, Windows Server, macOS, Linux e nuvem.

28 idiomas de reconhecimento

Nossa API C++ OCR reconhece uma infinidade de linguagens e scripts de escrita populares, incluindo linguagens mistas:

Deixe a detecção de idioma para a biblioteca ou defina você mesmo o idioma para melhorar o desempenho e a confiabilidade do reconhecimento.

  • Alfabeto latino estendido: croata, tcheco, dinamarquês, holandês, inglês, estoniano, finlandês, francês, alemão, italiano, letão, lituano, norueguês, polonês, português, romeno, eslovaco, esloveno, espanhol, sueco;
  • Alfabeto Cirílico: Bielorrusso, Búlgaro, Cazaque, Russo, Sérvio, Ucraniano;
  • Chinês: Mais de 6.000 caracteres;
  • Hindi.

Recursos e capacidades que capacitam

Aspose.OCR for C++ Descubra os recursos e capacidades avançadas do Aspose.OCR para C++.

Feature icon

OCR de fotos

Extraia texto de fotos de smartphones com precisão de digitalização.

Feature icon

PDF pesquisável

Converta qualquer digitalização em um documento totalmente pesquisável e indexável.

Feature icon

Reconhecimento de URL

Reconheça uma imagem do URL sem baixá-la localmente.

Feature icon

Reconhecimento em massa

Leia todas as imagens de documentos, pastas e arquivos de várias páginas.

Feature icon

Qualquer fonte e estilo

Identifique e reconheça texto em todos os tipos e estilos populares.

Feature icon

Reconhecimento de ajuste fino

Ajuste todos os parâmetros de OCR para obter melhores resultados de reconhecimento.

Feature icon

Verificador ortográfico

Melhore os resultados corrigindo automaticamente palavras com erros ortográficos.

Feature icon

Encontre texto em imagens

Pesquise texto ou expressão regular em um conjunto de imagens.

Feature icon

Compare textos de imagens

Compare textos em duas imagens, independentemente do caso e do layout.

Feature icon

Limitar o escopo do reconhecimento

Limite o conjunto de caracteres que o mecanismo de OCR procurará.

Feature icon

Detectar defeitos de imagem

Encontre automaticamente áreas da imagem potencialmente problemáticas.

Feature icon

Reconhecer áreas

Encontre e leia apenas áreas específicas de uma imagem, não todo o texto.

Amostras de código C++

Aprofunde-se em exemplos de código para integrar perfeitamente o Aspose.OCR para C++ em seus aplicativos.

Domínio de instalação C++

Como um arquivo C++ Archive (LIB) leve ou um arquivo para download com dependências mínimas, o Aspose.OCR para C++ é facilmente distribuído. A integração ao seu projeto, diretamente do seu Ambiente de Desenvolvimento Integrado (IDE) C++ preferido, é um processo contínuo. Basta instalá-lo e você estará preparado para aproveitar toda a gama de recursos de OCR, salvando os resultados de reconhecimento em qualquer um dos formatos suportados.

Após a instalação, você pode começar imediatamente a usar o Aspose.OCR para C++. , embora com certas limitações. Uma licença temporária elimina todas as restrições da versão de teste por 30 dias. Utilize este período para iniciar o desenvolvimento de um aplicativo de OCR totalmente funcional, permitindo que você tome uma decisão informada sobre a compra do Aspose.OCR para C++ posteriormente.

OCR para fotos C++

Supere o desafio dos aplicativos de OCR que não possuem scanners difundidos. Nossa API possui poderosos filtros de pré-processamento de imagem integrados que lidam habilmente com imagens giradas, distorcidas e com ruído. Combinado com suporte para todos os formatos de imagem, garante reconhecimento confiável mesmo em fotos de smartphones. A maior parte do pré-processamento e da correção de imagens são automatizados, exigindo sua intervenção apenas em casos desafiadores. Além disso, você pode predefinir regiões de imagem para trabalhar.

Definir ângulo personalizado para correção de inclinação e regiões de reconhecimento desativadas - 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);

Reconhecer texto em áreas específicas da imagem

Defina regiões específicas para reconhecimento de texto, aumentando a precisão. Personalize o reconhecimento para focar em áreas críticas, otimizando os resultados no seu fluxo de trabalho de processamento de imagens.

Definir regiões de reconhecimento 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);

Convertendo uma digitalização em documento editável

Embora muitas empresas, organizações e indivíduos tenham trabalhado ativamente para reduzir a sua dependência de documentos em papel, este ainda é o formato mais difundido para armazenamento e partilha. Documentos digitalizados apoiados por arquivos físicos são suficientes para conformidade regulatória, fins legais, backup de longo prazo e redundância. No entanto, surgem frequentemente casos de negócios para a criação de novos documentos com base no conteúdo digitalizado existente ou em partes de documentos existentes.

Aspose.OCR para С++ facilita a conversão de uma imagem digitalizada ou um PDF baseado em imagem em um documento DOCX ou RTF editável ou planilha do Microsoft Excel (XLSX). O conteúdo é reconhecido com alta precisão e rapidez, economizando tempo e esforço de digitação manual e garantindo que não haja erros humanos, principalmente ao trabalhar com grandes volumes de texto.

Transforme imagem digitalizada em documento de texto editável - 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);

Detectando defeitos de imagem

Os defeitos de imagem podem afetar significativamente a precisão do OCR. Eles podem ser causados ​​pela qualidade do processo de aquisição da imagem, pelas condições ambientais e pelo hardware usado para capturar a imagem. Para melhorar a precisão do reconhecimento, é essencial pré-processar e aprimorar as imagens para mitigar esses defeitos sempre que possível.

O Aspose.OCR para C++ pode encontrar automaticamente áreas de imagem potencialmente problemáticas durante o reconhecimento. Você pode destacar áreas problemáticas ao visualizar uma imagem e até mesmo fazer OCR usando configurações de reconhecimento alternativas para obter um melhor resultado.

Reconhecer texto em imagens borradas, distorcidas e com baixo 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);

Processamento em lote

A API OCR libera você do reconhecimento de cada imagem uma por uma, oferecendo vários métodos de processamento em lote que permitem reconhecer várias imagens em uma chamada:

  • Reconhecimento de arquivos PDF e TIFF de várias páginas.
  • Reconhecimento de todos os arquivos em uma pasta.
  • Reconhecimento de todos os arquivos em um arquivo.

Reconhecer arquivo 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);

Opção de detecção de texto

Você pode dividir os resultados do reconhecimento em linhas e detectar áreas de texto em uma página.

Detectar texto na imagem - 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);