1. Produktai
  2.   OCR
  3.   C++
  4.   OCR
 
  

Free Optical Character Recognition API for Chinese Manuscripts

Open Source C++ OCR to perform OCR operations on Chinese Manuscripts using template-based matching, where characters are matched pixel-wise against known samples.

Kas yra nemokamas C++ OCR?

Optinis simbolių atpažinimas (OCR) ne lotyniškų rašmenų – ypač kinų – srityje kelia unikalių iššūkių dėl simbolių sudėtingumo ir įvairovės. Laimei, atviro kodo OCR C++ API, sukurtas Sebastian Starke, siūlo švarią, išplečiamą sprendimą, pritaikytą spausdintų ar ranka rašytų kinų simbolių atpažinimui, ypač iš rankraščių šaltinių. Sukurtas su paprastumu ir lankstumu omenyje, šis lengvas API leidžia programinės įrangos kūrėjams eksperimentuoti su simbolių atpažinimu, naudodami klasikinius vaizdo apdorojimo metodus, o ne sunkius mašininio mokymosi modelius.

Šis projektas nėra pilno masto neuroninis OCR variklis, kaip Tesseract. Vietoj to jis renkasi kitokį kelią: naudoja šablonų pagrindu veikiančią atitikimo metodiką, kur simboliai lyginami pikseliui su žinomais pavyzdžiais. Tai daro jį idealiu edukaciniam naudojimui, kontroliuojamoms aplinkoms arba specifiniams atpažinimo uždaviniams, tokiems kaip istorinių rankraščių analizė, tradiciniai kinų šriftai ar supaprastintos rankrašto duomenų bazės. Projektas ypač tinka kūrėjams, dirbantiems riboto išteklių aplinkoje, pvz., įterptinėse Linux sistemose, Raspberry Pi ar pramoniniuose skenavimo įrenginiuose, kadangi nepriklauso nuo sunkių priklausomybių ar giluminio mokymosi bibliotekų.

Previous Next

Pradžia su OCR

Rekomenduojamas būdas įdiegti OCR yra naudojant GitHub. Prašome naudoti šią komandą sklandžiam įdiegimui.

Įdiegti OCR API per GitHub

Įdiegti OCR API per GitHub

 git clone https://github.com/sebastianstarke/OCR.git  

Taip pat galite įdiegti rankiniu būdu; atsisiųskite naujausius leidimo failus tiesiai iš GitHub saugyklos.

Šablonų pagrindu veikiantis OCR variklis

Atviro kodo optinis simbolių atpažinimas (OCR) kinų rankraštuose C++ API suteikia visišką palaikymą šablonų pagrindu veikiančiam OCR varikliui C++ programose. Bibliotekos širdyje yra klasikinė vaizdų palyginimo sistema: simbolių vaizdai binarizuojami ir tada lyginami su šablonais, naudojant atstumo metriką (dažniausiai pikseliui lyginimas). Kinų kalbai tai ypač naudinga, kai dirbama su nuosekliu kaligrafijos ar spausdintu rankraščiu tekstu.

Kaip atlikti šablonų pagrindu veikiantį OCR atpažinimą C++ programose?

OCR::TemplateCollection templates;
templates.loadFromFolder("templates/"); // Load preprocessed characters

OCR::Recognizer recognizer(templates);
std::string recognizedText = recognizer.recognizeFromImage("scanned_page.png");

Paveikslėlių išankstinis apdorojimas

Atviro kodo OCR biblioteka suteikia pilną palaikymą paveikslėlių išankstiniam apdorojimui C++ programose. Biblioteka siūlo bazinį apdorojimą, pvz., slenkstinį filtravimą ir apkirpimą, kad pašalintų triukšmą. Kinų rankraščiai dažnai rašomi ant senų popieriaus lapų, todėl vaizdo valymas yra būtinas tiksliai rezultatui. Žemiau pateiktas pavyzdys rodo, kaip keliais C++ kodo eilutėmis kūrėjai gali atlikti paveikslėlių išankstinį apdorojimą.

Kaip atlikti paveikslėlių išankstinį apdorojimą prieš OCR operacijas C++ programose?

OCR::ImageProcessor processor;
cv::Mat cleanImage = processor.binarize("raw_scan.png");

Morfologinių transformacijų palaikymas

Procesas prasideda serija morfologinių transformacijų. Tai pagrindinės vaizdo apdorojimo operacijos, kurios keičia vaizdo elementų geometriją. Šiame kontekste jos naudojamos rankraščio vaizdo valymui, triukšmo šalinimui ir simbolių segmentavimui.

 Lietuvių