iTesseract OCR Tutorial yeWindows, Python, kunye .NET

Uhlaziyo lokugqibela: 10/10/2025
umbhali: UIsake
  • Iifomathi zenkxaso yeelwimi ezininzi kunye nemveliso yokuskena ngokufanelekileyo.
  • Ukuhlanganiswa okulula kunye Python (Pytesseract) kunye .NET ecosystem.
  • I-IronOCR izisa ukucubungula kwangaphambili kunye nenqanaba eliphezulu le-APIs kwiTesseract.

Isifundo seTesseract OCR

Ukuba unomdla wokuguqula imifanekiso okanye iiPDF zibe yimibhalo ehlelekayo ngaphandle kokuzabalaza nezixhobo ezinzima, okanye Khupha umbhalo kwimifanekiso kwi-Windows 11, iindaba ezimnandi zezokuba namhlanje I-Tesseract OCR sisisombululo esinamandla, esisimahla kwaye esibhetyebhetye kakhuluKwesi sikhokelo sisebenzayo sivavanya ukuba yintoni na, indlela yokuyifaka kuyo Windows, indlela yokuqinisekisa ukusuka kwikhonsoli, kunye nendlela yokudibanisa nazo zombini iPython (ngePytesseract) kunye .NET, kunye nenye esetyenziswa ngokubanzi kule ecosystem: IronOCR.

Ngaphaya kokufaka nokunqakraza iqhosha, uya kubona indlela yokulungisa imeko-bume, apho ukongeza umendo ophunyeziweyo, wenze ntoni ukuba imposiso eqhelekileyo ibonakala. TesseractNotFoundError kwiPython, kunye nendlela yokuqhuba izicatshulwa kwiilwimi ezininzi (iSpanish, isiNgesi, isiFrentshi, isiPhuthukezi, kunye neepakethe ezifana neMathematika) ngaphakathi kwezicelo. Injongo kukuba ugqibezele ngokuzinza, ukulungelelaniswa kwe-OCR ukuhamba komsebenzi., ukugubungela ukusuka kumgca we imiyalelo phezulu kusetyenziswa kwi C# ngamathala eencwadi athile.

Yintoni iTesseract OCR?

I-Tesseract yinjini ye-OCR evulekileyo, epapashwe phantsi kwelayisensi ye-Apache 2.0. Yazalwa ngo-80s e-Hewlett-Packard kwaye ngoku igcinwe luluntu ngokuqhutywa ngamandla ukuya. UphandoUmsebenzi wayo ucacile: hlalutya iipikseli kumfanekiso (TIFF, PNG, JPEG, phakathi kwabanye) ukufumana abalinganiswa, amagama, kunye nemigca, kunye nokukhupha umxholo njengombhalo ofundwa ngumatshini.

Ingasetyenziswa ngokukhululekileyo kumgca womyalelo, ukwenza i-automation kunye nokubhala kube lula. Ukongeza, ixhasa inkitha yeelwimi kwaye inokuqeqeshwa kwiifonti okanye iialfabhethi ezintsha., yiyo loo nto iqhelekile kuxwebhu lwedijithali, ukusetyenzwa kwe-invoyisi, ukugcinwa kweenkcukacha okanye ukufikelela.

Khuphela kwaye ufake iTesseract kwiWindows

Kwi-Windows, eyona ndlela ithe ngqo kukusebenzisa isifakeli esihlanganiswe kwangaphambili. Umthombo oyintloko yindawo yokugcina esemthethweni kwi-GitHub (tesseract-ocr/tesseract), apho uya kufumana iibhinari ezityikityiweyo kunye neenguqulelo zamva nje.

Phakathi kwezifakeli ezikhoyo, kuqhelekile ukubona iipakethe ezifana ne itesseract-ocr-w64-setup-5.3.0.20221222.exe (Iibhithi ezili-64). Khuphela kwaye uyiqhubeI-wizard iya kukukhokela ngokucwangcisa inyathelo ngenyathelo, kubandakanywa nokukhetha ulwimi lwe-installer kunye neepakethi zolwimi.

Umfaki wolwimi kunye nedatha yolwimi

Ngexesha lofakelo, iwizard iya kukucela ukuba ukhethe ulwimi lwakho. IsiNgesi sikholisa ukugqibezela, kodwa unokongeza iipakethe ezongezelelweyo njengeSpanish, isiFrentshi, okanye iimodyuli ezikhethekileyo ezifana neMathematika ukuba uyazifuna. Olu khetho luchaza ukuba yeyiphi imifuziselo ekhutshelwe kulawulo lwedatha (tessdata).

Ilayisensi, abasebenzisi kunye namacandelo

I-Tesseract isasazwa nge Ilayisensi ye-Apache 2.0, ukuze ukwazi ukuyisebenzisa kwaye uyisasaze kwakhona ngokuguquguqukayo. Umfakeli uya kukucela ukuba wamkele ilayisenisi, ukhethe ukuba ufakele umsebenzisi omnye okanye bonke abasebenzisi, kwaye ukhethe amacandelo. Izinto eziluncedo zikhethwa ngokungagqibekanga, njenge I-ScrollView, izixhobo zoqeqesho, iindlela ezimfutshane, kunye nedatha yolwimi.

Indlela yokufakela kunye nefolda yemenyu yokuQala

Iwizard iya kukuvumela ukuba ukhethe ifolda ekuyiwa kuyo. Bhala phantsi loo ndlela, uya kuyidinga kuguquguquko lokusingqongileyo. Unganika igama iQalisa ifolda yemenyu apho iindlela ezimfutshane zenziwe khona. Nje ukuba ugqibile, cofa Faka, kwaye wakuba ugqibile, cofa uGqiba ukuvala.

  Ndingawususa njani umbala oqaqambileyo kuxwebhu lwam lweLizwi?

Yongeza iTesseract kwimo eguquguqukayo kwiWindows

Ukusebenzisa umyalelo wetesract kuyo nayiphi na ifestile cmd o PowerShell, ifanelekile yongeza isiqulathi seefayili sokufakela kwindlela yesixokelelwano. Ngale ndlela iiWindows ziya kwazi ukuba zingayifumana phi into ephunyezwayo ngaphandle kweendlela ezigqibeleleyo.

Yiya kwi-Start menu search kwaye uchwetheze "izinto eziguquguqukayo zendalo" okanye "iisetingi zesistim ephuculweyo." Kwifestile yeePropati zeSistim, yiya kwi-Advanced tab kwaye ucofe Izinto eziNgqongileyo.

KwiSixokelelwano seZiguquko zebhloko, khetha Indlela, cofa Hlela kwaye emva koko Ntsha. Ncamathelisa indlela apho iTesseract ifakwe khona (umzekelo, C:\Program Files\Tesseract-OCR) kwaye uqinisekise ngo-OK kuzo zonke iifestile.

Jonga ukufakela kwi-console

Vula i-cmd okanye i-PowerShell kwaye uqhube: zintsiUkuba yonke into ilungile, uya kubona umyalezo wosebenziso, inguqulelo efakiweyo, kunye noluhlu lweenketho ezixhaswa ngumsebenzi. Olu vavanyo luqinisekisa ukuba iNdlela ichanekile kwaye i-binary iyaphendula.

Faka iTesseract kwi-macOS

Kwi-macOS, unokufaka usetyenziso oluvela kubaphathi bephakheji. NgeHomebrew, baleka brew install testeract. Ukuba usebenzisa iiMacPorts, umyalelo olinganayo ngu I-sudo port faka i-tesract. Zombini iindlela Khuphela kwaye ubhalise ephunyeziweyo ukuyisebenzisa ukusuka Indawo yokukhwelela.

Umahluko phakathi kweTesseract kunye nePytesseract

Kukulungele ukwahlula iikhonsepthi: I-Tesseract yinjini ye-OCR, ibhinary eyenza uqwalaselo. I-Pytesseract sisisongelo sePython ebiza loo njini kwaye ifomathe imveliso yezikripti zakho. Ukuba usebenza ePython, uya kufuna iTesseract efakwe kwinkqubo yakho kunye nePytesseract kwindawo yakho.

Ukusetyenziswa okusisiseko ngePython kunye nesisombululo seTesseractNotFoundError

Enye yeempazamo eziqhelekileyo xa uqala kwiPython TesseractNotFoundError. Kwenzeka xa i-Pytesseract ingayifumani i-injini ephunyezwayo, ngokwesiqhelo ngenxa yokuba ayikho kwiNdlela okanye indlela ayimiselwanga kwi-injini. elishicilelwe.

Ukunqanda oku kwiWindows, unokuseta umendo ngokucacileyo kwikhowudi yakho ngokukhomba into ephunyeziweyo. Umzekelo omncinci kunye nePytesseract:

import pytesseract
from PIL import Image

# Ajusta esta ruta a tu instalación real en Windows
pytesseract.pytesseract.tesseract_cmd = r'C:\\Program Files\\Tesseract-OCR\\tesseract.exe'

texto = pytesseract.image_to_string(Image.open('mi_imagen.png'), lang='spa')
print(texto)

Kwakhona, qiniseka ukuba ipakethe yolwimi oyifunayo iyafumaneka (umzekelo, Spa yeSpanish). Ukuba akunjalo, faka loo datha eqeqeshiweyo kuluhlu oluchanekileyo lwe-tessdata. Oku kusombulula uninzi lweziganeko. xa uqala ngePython.

I-OCR yeelwimi ezininzi: Iingqikelelo kunye nokuziqhelanisa

Kwiiprojekthi ezinamaxwebhu eelwimi ezininzi (ii-invoyisi, izivumelwano okanye oovimba bembali), I-Tesseract ikuvumela ukuba udibanise iilwimi ukuphucula ukuchongwa xa iitekisi eziziintlobo ngeentlobo zikhona. Into ephambili kukuba ube neefayile ezifanelekileyo ze-.traineddata ngaphakathi kwe-tessdata.

Xa umxholo uxuba, umzekelo, isiNgesi, iSpanish kunye nesiFrentshi, unokuxelela injini ukuba yenze oku. qwalasela iialfabhethi ezininzi kunye neepateni ngaxeshanyeOku kusebenza nakwiilayibrari ezikumgangatho ophezulu njenge-IronOCR kwi-.NET.

Yenza iprojekthi kwiVisual Studio kwaye usebenzise iTesseract.NET

Ukuba usebenza kwindawo yeMicrosoft, vula iVisual Studio kwaye wenze i Isicelo seConsole (okanye nayiphi na itemplate oyithandayo). Xela iprojekthi yakho, khetha inguqulo ye-.NET, kwaye ngesisombululo sakho esenziwe, ulungele ukulawula iipakethe nge-NuGet.

  Indlela elungileyo yokwenza ii-Apps zisebenze ngoFirewall eKhaya windows 10/11

Faka iTesseract kwikhompyuter yakho (njengoko besichazile) kwaye ngaphakathi kweprojekthi yongeza iphakheji Tesseract okanye Tesseract.NET ukusuka kuMphathi wePhakeji weNuGet. Oku kongeza isisongelo sokusebenzisana ne-injini esuka kwi-C #.

Umzekelo wokufunda umfanekiso ngeelwimi ezininzi unokujongeka ngolu hlobo, ebonisa indlela eya kwitessdata kunye noluhlu lweelwimi:

using System;
using System.Drawing;
using Tesseract;

class Program
{
    static void Main()
    {
        // Ruta a los archivos de datos de idioma (.traineddata)
        string tessDataPath = @"./tessdata";
        // Imagen a procesar
        string imagePath = @"ruta_a_tu_imagen.png";

        using (var img = Pix.LoadFromFile(imagePath))
        using (var engine = new TesseractEngine(tessDataPath, "eng+spa+fra", EngineMode.Default))
        using (var page = engine.Process(img))
        {
            string text = page.GetText();
            Console.WriteLine("Recognized Text:");
            Console.WriteLine(text);
        }
    }
}

Qinisekisa ukuba oku kulandelayo kukho kwifolda ye-tessdata: .idatha eqeqeshiweyo yolwimi ngalunye ukuba ubhengeze. Indawo yovavanyo eqhelekileyo yieng+spa+fra, kodwa ungayandisa ukuze ihambelane neemfuno zakho.

IronOCR: Ilayibrari esekwe kwiTesseract.NET

Kwi-.NET ecosystem kukho imveliso-oriented option ebizwa IronOCR, exhomekeke kwiTesseract kodwa inikezela nge-API ekumgangatho ophezulu, amaxwebhu abanzi, kunye nezinto eziluncedo zokulungisa kwangaphambili. Ifakwe kwi-NuGet kwi-Visual Studio usebenzisa i-package finder.

Ukusetyenziswa kwayo okusisiseko ekufundeni isicatshulwa somfanekiso ngokuthe ngqo. Umzekelo olula:

using IronOcr;

var ocr = new IronTesseract();
string texto = ocr.Read(@"test-files/redacted-employmentapp.png").Text;
Console.WriteLine(texto);

Ukuba ukhetha ulawulo olungaphezulu kwigalelo (imifanekiso emininzi, uhlengahlengiso, njl.njl.), unokwakha i-OcrInput kwaye uyigqithisele kwi-injini. Umzekelo ngokusebenzisa ipateni:

using IronOcr;

var Ocr = new IronTesseract();
using (var Input = new OcrInput())
{
    Input.AddImage("test-files/redacted-employmentapp.png");
    var Result = Ocr.Read(Input);
    Console.WriteLine(Result.Text);
}

Inzuzo ephambili kukuba I-IronOCR ixhasa ngaphezu kweelwimi ezili-120, idibanisa ukufumanisa ngokuzenzekelayo kwaye yongeza ukucocwa komfanekiso, ukunciphisa ingxolo, kunye nezixhobo zokulungiswa kwe-artifact ezithi, ekusebenzeni, ziphucule ukuchaneka kumaxwebhu anzima.

Faka i-IronOCR nge-NuGet kunye neepakethi zolwimi

Ukuyongeza kwisisombululo sakho, vula i-Visual Studio kwaye uhambe uye kwiZixhobo> Umphathi wePakeji ye-NuGet> Lawula iiPakethi zeSisombululo. Khangela "IronOCR" kwaye ukhethe iphakheji ephambiliUkuba uceba ukusebenza ngeelwimi ezongezelelweyo, faka kwakhona iipakethi zolwimi eziyimfuneko.

Kwiiprojekthi zeelwimi ezininzi, khumbula ukuba isiNgesi sihlala sifumaneka ngokungagqibekanga, kodwa NgeSpanish okanye isiFrentshi kufuneka wongeze iipakethi zaboOku kuya kongela ixesha xa useta ipropati yoLwimi enjinini.

Ukufunda iiLwimi ezininzi nge-IronOCR (C #)

Lo mzekelo ulandelayo ubonisa indlela yokudibanisa iilwimi ezintathu kunye nokwenza umfanekiso. Lulungiselelo lwendalo xa awuqinisekanga ukuba loluphi ulwimi oluphetheyo kuxwebhu ngalunye:

using IronOcr;

class Program
{
    static void Main(string[] args)
    {
        var Ocr = new IronTesseract();
        Ocr.Language = OcrLanguage.English + OcrLanguage.Spanish + OcrLanguage.French;

        var inputFile = @"ruta\\a\\tu\\imagen.png";
        using (var input = new OcrInput(inputFile))
        {
            var result = Ocr.Read(input);
            Console.WriteLine("Text:");
            Console.WriteLine(result.Text);
        }
    }
}

Ukongeza kwi-API elula, i-IronOCR ivelele ukubandakanya ukulungiswa komfanekiso (i-deskew, i-binarization, ukucocwa komphetho), okuhlala kukhokelela kwimpumelelo engaphezulu ngamaxwebhu askeniweyo okanye iifoto ezinokukhanya okungalinganiyo.

Izinto eziluncedo kunye nokuqwalaselwa kwe-IronOCR ngokuchasene neTesseract "ecocekileyo".

Ngelixa iTesseract isimahla kwaye ibhetyebhetye kakhulu, i-IronOCR ibonelela nge amava athe ngqo kwi.NET, enamaxwebhu, imizekelo, kunye neempawu ezilungele ishishini. Imithombo ye-Corporate ichaze ukuchaneka kokufumanisa malunga ne-99,8% phantsi kweemeko ezifanelekileyo, kunye nenkxaso ye-multithreading kunye nokugcinwa okusebenzayo.

  I-Adobe Illustrator CC: Ungalutshintsha njani uLwimi ngokukhawuleza (uMzekelo).

Kukwakhona friendly ngakumbi ekuhlanganiseni (ukuseta nje, iiprojekthi zesampula, kunye nee-API ezihambelanayo), kunye nenkxaso yeelwimi ezingaphezu kwe-120, kubandakanywa iimeko ezinzima kunye neelwimi ezininzi kuxwebhu olufanayo. Ngembuyekezo, i-IronOCR isemthethweni kwaye ihlawulwe, kunye nelayisenisi yobomi kunye ne-24/7 yenkxaso yokhetho kubathengi.

Iindlela ezilungileyo zokuphucula ukuchaneka kwe-OCR

Nangona i-injini yomelele, iziphumo zixhomekeke kakhulu kumgangatho wemifanekiso. Zama ukusebenzisa izisombululo eziphezulu, unqande ingxolo kunye nezinto zakudala, lungelelanisa ngokufanelekileyo uxwebhu kwaye uphucule umahluko. Ukuba usebenza ngeefoto, khathalela ukukhanya kunye ne-skew echanekileyo ngaphambi kokuba wenze i-OCR.

NgeTesseract “esulungekileyo”, kunokuba yimfuneko ukwenza imifanekiso ibe yesiqhelo okanye ufake izihluzi zangaphambili ukuze ufumane iziphumo ezilungileyo. Izixhobo ezifana ne-IronOCR zinceda ngokuzenzekela okuninzi koku kusenziwa kwangaphambili., eyenza kube lula ukuhanjiswa kweetekisi ezicocekileyo kwiimeko ezinzima.

Imveliso kunye neefomati onokuthi uzenze

Ukongeza kwisicatshulwa esicacileyo, iTesseract inokuvelisa iziphumo kwi-HTML/hOCR okanye kwiiPDF ezinombhalo okhethiweyoOku kuvula ucango lwesalathiso, ukukhangela, kunye nokugqamisa amaqhekeza ngaphakathi kwamaxwebhu, okanye ukudibanisa kugcino lwedijithali lokuhamba komsebenzi apho amandla okukhangela angundoqo.

Ukongeza kumbhalo ocacileyo, iTesseract inokuvelisa iHTML/hOCR imveliso okanye iiPDF ezinombhalo okhethiweyo, iyenza kube lula ukuyibhala. guqula iPDF ibe liLizwi kwaye uqhubeke nokuhlela.

Ekudityanisweni kwesiko, unako emva kwenkqubo isiphumo, sebenzisa ukuhlolwa kopelo okanye imifuziselo ye-NLP ukutyebisa amaqumrhu, ukulungelelanisa amanani, kwaye ulungiselele umxholo yolwazi okanye izixhobo zokuhlalutya.

UFakelo oluKhokelweyo kwiWindows: IiNgqamatsha zeWizard

Ukuba ufuna uluhlu olukhawulezayo lokutshekisha lwewizard: khetha ulwimi lomfakeli, yamkela iApache 2.0 ilayisenisi, yenza isigqibo sokuba ukufakela kwakho okanye kubo bonke abasebenzisi, kwaye shiya amalungu acetyiswayo evuliwe (ScrollView, izixhobo zoqeqesho, iindlela ezimfutshane kunye nedatha yolwimi).

Khetha ifolda yendawo ekuyiwa kuyo (khumbula ukuyikhuphela kwiNdlela), yithiya ifolda yemenyu yokuQala ukuba iyasebenza, kwaye cinezela Faka. Xa ugqibile, qinisekisa nge "tesseract" kwi-console ukuqinisekisa ukuba yonke into iphendula ngokuchanekileyo kwisixhobo sakho.

Ukufakela kunye neepakethe ezihlanganiswe kwangaphambili kunye nokukhethwa kweelwimi

Xa ukhuphela kwi-GitHub, uya kubona abafakeli abaninzi kwaye wakhela izakhiwo ezahlukeneyo. Khetha i-64-bit ukuba inkqubo yakho iyayixhasa.Kwiwizard, ungakhetha iilwimi ezithile; lo ngumbono olungileyo. fakela ezo uzakuzisebenzisa (iSpanish, isiPhuthukezi, isiFrentshi, iMathematika, njl.njl.) ukunqanda uphendlo olulandelayo.

Ukuba kamva ufuna ukwandisa kwezinye iilwimi, unokongeza zabo .traineddata kwisiqulathi seedatha yetessdata. Ukumodareyitha yenye yeengongoma ezomeleleyo ye-injini ukuziqhelanisa nemimandla eyahlukeneyo.

Uyiguqula njani iPDF ibe liLizwi ukulungiselela ukuhlelwa
Inqaku elidibeneyo:
Guqula iPDF ibe liLizwi ukuze kuhlelwe: iindlela ezikwi-intanethi, iLizwi, kunye ne-OCR