Atvirojo kodo optinio simbolių atpažinimo (OCR) programinė įranga yra kompiuterinė programa, kuri paima vaizdo failą su tekstu ir konvertuoja jį į tekstinį failą, leidžiantį vartotojams nuskaityti rašytus ar įvestus dokumentus į tekstinius dokumentus, o ne tik vaizdo failus. Norėdami tai padaryti, atvirojo kodo OCR programinė įranga peržiūri savo teksto stilių duomenų bazę ir interpretuoja dokumentą į tekstinį failą. Norint pasirinkti geriausią OCR programą, reikia atsižvelgti į tai, kiek teksto stilių programa supranta ir į bendrą raidžių atspėjimo tikslumą. Taip pat naudinga turėti daug interpretuojamų vaizdo failų, taip pat turėti mokymosi mechanizmą, kad programinė įranga galėtų atlikti savęs taisymą.
Kai atvirojo kodo OCR programinė įranga mato vaizdo failą su tekstu, pvz., nuskaitytą dokumentą, programa vienu metu žiūri į vaizdo failą ir jo teksto stiliaus duomenų bazes. Kai programa mato simbolį, kurį atpažįsta, arba panašų simbolį, ji interpretuoja tai kaip raidę. Norint geriausiai spėti ir padidinti OCR programai suprantamų šriftų stilių skaičių, geriausia turėti programą su didele stilių duomenų baze. Jei ji neturi didelės duomenų bazės, tai gali kompensuoti galimybė į programą įtraukti pasirinktinius šriftus.
Nors būtų gerai, jei visa atvirojo kodo OCR programinė įranga galėtų parašyti teisingą tekstą 100 procentų tikslumu, tai ne visada. Iš esmės visos OCR programos atspėja simbolius ir bando sudaryti suprantamas raidžių ir žodžių sekas, kurios, jos nuomone, geriausiai interpretuoja dokumentą. Didžiausio tikslumo OCR sistema bus geriausia vartotojui, nes sugaištama mažiau laiko taisant netikslius žodžius ar frazes.
Norint interpretuoti vaizdo failą su tekstu, atvirojo kodo OCR programinė įranga turi palaikyti tą vaizdo failą. Jei vaizdo failas nepalaikomas, jis negalės jo peržiūrėti, o tai gali sumažinti programos efektyvumą, ypač jei vartotojas turi daug nepalaikomų vaizdų tipų. Naudojant OCR programą su didžiausiu palaikomų failų tipų kiekiu, vartotojai galės išaiškinti daug dokumentų.
Viena iš pagrindinių atvirojo kodo OCR programinės įrangos koncepcijų yra dirbtinis intelektas (AI). Ši AI sistema gali padėti OCR programai spėlioti ir, kurį laiką perskaičius naują stilių, OCR programos tikslumas pradės didėti. Turėdami galingą AI, bus įdiegtas savaime taisantis mechanizmas, kuris padės pasiekti tikslumą, vartotojui nieko nereikalaujant.