Perché Aspose.OMR per C++?

Crea e riconosci moduli leggibili dalle macchine di qualsiasi layout e complessità in applicazioni on-premise, servizi Web o nel cloud. La nostra soluzione è adatta a progetti di qualsiasi dimensione: da semplici sondaggi e quiz agli esami finali e alle elezioni. Fai clic sugli elementi seguenti per saperne di più sulle nostre funzionalità e vantaggi.

Illustration ocr

Nessuna attrezzatura necessaria

Usa la tua fotocopiatrice da ufficio esistente o anche la fotocamera di uno smartphone invece di un lettore OMR specializzato.

Personalizzazione completa

Personalizza i moduli OMR aggiungendo codici QR e codici a barre generati automaticamente, immagini, campi firma e altro ancora.

Risultati affidabili

Robusti algoritmi di rilevamento ottico dei segni, abbinati alla capacità di ottimizzare il riconoscimento, garantiscono risultati accurati al 100%.

Soluzione completa

Aspose.OMR per C++ supporta il flusso di lavoro OMR completo: dalla progettazione di un modulo al riconoscimento delle copie cartacee compilate.

Facile per gli sviluppatori

La nostra API è estremamente facile da usare anche per gli sviluppatori inesperti. Una semplice applicazione OMR può essere scritta in 10 righe di codice.

Esempio di codice in tempo reale

Sperimenta la semplicità: converti un’immagine in testo in sole tre righe di codice C++!

Pronto a riconoscere Pronto a riconoscere Trascina un file qui o fai clic per sfogliare *

*Caricando i tuoi file o utilizzando il servizio accetti i nostri Termini di utilizzo E politica sulla riservatezza.

Risultato del riconoscimento
 

Converti immagine in testo

Scopri altri esempi >
  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);

Potenza C++ ovunque

Aspose.OCR per C++ funziona perfettamente su qualsiasi piattaforma.

Microsoft Windows
Linux
MacOS
GitHub
Microsoft Azure
Amazon Web Services
Docker

Formati di file supportati

Aspose.OCR for C++ può funzionare praticamente con qualsiasi file puoi ottenerlo da uno scanner o da una fotocamera. I risultati del riconoscimento vengono restituiti nei formati di file e di scambio dati più diffusi che possono essere salvati, importati in un database o analizzati in tempo reale.

immagini

  • JPEG
  • PNG
  • TIFF
  • BMP

OCR batch

  • Multi-page PDF
  • ZIP
  • Folder

Risultati del riconoscimento

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

Installazione

Aspose.OCR per C++ è distribuito come pacchetto NuGet o come file scaricabile con dipendenze minime. Installalo facilmente nel tuo progetto e sarai pronto a riconoscere testi in più lingue supportate e a salvare i risultati del riconoscimento in vari formati.

Richiedi una licenza di prova per avviare lo sviluppo di un’applicazione OCR completamente funzionale senza limitazioni.

Potenza C++ su tutta la linea

La nostra libreria supporta completamente C++11 e versioni successive, consentendo alle tue applicazioni di funzionare perfettamente su qualsiasi piattaforma: desktop Windows, Windows Server, macOS, Linux e cloud.

28 lingue di riconoscimento

La nostra API C++ OCR riconosce una vasta gamma di linguaggi e script di scrittura popolari, inclusi linguaggi misti:

Lascia il rilevamento della lingua alla libreria o definisci tu stesso la lingua per prestazioni e affidabilità di riconoscimento migliorate.

  • Alfabeto latino esteso: croato, ceco, danese, olandese, inglese, estone, finlandese, francese, tedesco, italiano, lettone, lituano, norvegese, polacco, portoghese, rumeno, slovacco, sloveno, spagnolo, svedese;
  • Alfabeto cirillico: bielorusso, bulgaro, kazako, russo, serbo, ucraino;
  • Cinese: oltre 6.000 caratteri;
  • Hindi.

Caratteristiche e capacità che potenziano

Aspose.OCR for C++ Scopri le caratteristiche e le capacità avanzate di Aspose.OCR per C++.

Feature icon

OCR foto

Estrai testo dalle foto dello smartphone con precisione a livello di scansione.

Feature icon

PDF ricercabile

Converti qualsiasi scansione in un documento completamente ricercabile e indicizzabile.

Feature icon

Riconoscimento dell’URL

Riconoscere un’immagine dall’URL senza scaricarla localmente.

Feature icon

Riconoscimento in blocco

Leggi tutte le immagini da documenti, cartelle e archivi multipagina.

Feature icon

Qualsiasi carattere e stile

Identifica e riconosci il testo in tutti i caratteri tipografici e gli stili più diffusi.

Feature icon

Riconoscimento preciso

Regola ogni parametro OCR per ottenere i migliori risultati di riconoscimento.

Feature icon

Correttore ortografico

Migliora i risultati correggendo automaticamente le parole errate.

Feature icon

Trova il testo nelle immagini

Cerca testo o espressione regolare all’interno di una serie di immagini.

Feature icon

Confronta i testi delle immagini

Confronta testi su due immagini, indipendentemente dal caso e dal layout.

Feature icon

Limitare l’ambito del riconoscimento

Limita il set di caratteri che il motore OCR cercherà.

Feature icon

Rileva i difetti dell’immagine

Trova automaticamente aree dell’immagine potenzialmente problematiche.

Feature icon

Riconoscere le aree

Trova e leggi solo aree specifiche di un’immagine, non tutto il testo.

Esempi di codice C++

Approfondisci esempi di codice per integrare perfettamente Aspose.OCR per C++ nelle tue applicazioni.

Padronanza dell’installazione C++

Come file C++ Archive (LIB) leggero o file scaricabile con dipendenze minime, Aspose.OCR per C++ è facilmente distribuito. L’integrazione nel tuo progetto, direttamente dal tuo ambiente di sviluppo integrato (IDE) C++ preferito, è un processo semplice. Basta installarlo e sarai pronto a sfruttare la gamma completa di funzionalità OCR, salvando i risultati del riconoscimento in uno qualsiasi dei formati supportati.

Dopo l’installazione, puoi iniziare subito a utilizzare Aspose.OCR per C++ , anche se con alcune limitazioni. Una licenza temporanea elimina tutte le restrizioni della versione di prova per 30 giorni. Utilizza questo periodo per avviare lo sviluppo di un’applicazione OCR completamente funzionale, consentendoti di prendere una decisione informata sull’acquisto di Aspose.OCR per C++ in una fase successiva.

OCR per foto C++

Supera la sfida delle applicazioni OCR prive di scanner diffusi. La nostra API vanta potenti filtri di pre-elaborazione delle immagini integrati che gestiscono abilmente immagini ruotate, inclinate e rumorose. In combinazione con il supporto di tutti i formati di immagine, garantisce un riconoscimento affidabile anche dalle foto dello smartphone. La maggior parte della pre-elaborazione e della correzione delle immagini sono automatizzate e richiedono il tuo intervento solo in casi difficili. Inoltre puoi predefinire le regioni dell’immagine con cui lavorare.

Imposta l'angolo personalizzato per la correzione dell'inclinazione e la definizione delle regioni di riconoscimento - 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);

Riconoscere il testo in aree specifiche dell’immagine

Definisci aree specifiche per il riconoscimento del testo, migliorando la precisione. Riconoscimento personalizzato per concentrarsi sulle aree critiche, ottimizzando i risultati nel flusso di lavoro di elaborazione delle immagini.

Definire le regioni di riconoscimento per 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);

Conversione di una scansione in un documento modificabile

Sebbene molte aziende, organizzazioni e individui abbiano lavorato attivamente per ridurre la dipendenza dai documenti cartacei, questo è ancora il formato più diffuso per l’archiviazione e la condivisione. I documenti scansionati supportati da archivi fisici sono sufficienti per la conformità normativa, scopi legali, backup a lungo termine e ridondanza. Tuttavia, spesso sorgono casi aziendali per la creazione di nuovi documenti basati su contenuti scansionati esistenti o su parti di documenti esistenti.

Aspose.OCR per С++ semplifica la conversione di un’immagine scansionata o di un PDF basato su immagini in un documento DOCX o RTF modificabile o in un foglio di calcolo Microsoft Excel (XLSX). Il contenuto viene riconosciuto con elevata precisione e velocità, risparmiando tempo e fatica nella digitazione manuale e garantendo l’assenza di errori umani, soprattutto quando si lavora con grandi volumi di testo.

Trasforma l'immagine scansionata in un documento di testo modificabile - 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);

Rilevamento dei difetti dell’immagine

I difetti dell’immagine possono influire in modo significativo sulla precisione dell’OCR. Possono essere causati dalla qualità del processo di acquisizione dell’immagine, dalle condizioni ambientali e dall’hardware utilizzato per acquisire l’immagine. Per migliorare l’accuratezza del riconoscimento, è essenziale preelaborare e migliorare le immagini per mitigare questi difetti quando possibile.

Aspose.OCR per C++ può trovare automaticamente aree dell’immagine potenzialmente problematiche durante il riconoscimento. Puoi evidenziare le aree problematiche durante l’anteprima di un’immagine e persino eseguirne l’OCR utilizzando impostazioni di riconoscimento alternative per ottenere un risultato migliore.

Riconoscere il testo su immagini sfocate, distorte e a basso contrasto - 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);

Elaborazione in lotti

L’API OCR ti libera dal riconoscere ogni immagine una per una offrendo vari metodi di elaborazione batch che ti consentono di riconoscere più immagini in una sola chiamata:

  • Riconoscimento di file PDF e TIFF multipagina.
  • Riconoscimento di tutti i file in una cartella.
  • Riconoscimento di tutti i file in un archivio.

Riconoscere l'archivio 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);

Azione di rilevamento del testo

È possibile dividere i risultati del riconoscimento in righe e rilevare aree di testo in una pagina.

Rileva testo sull'immagine - 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);