Tekstintunnistus
Tekstintunnistus (, OCR) on yleisnimi teknologialle, jonka avulla tunnistetaan koneellisesti (varsinainen "OCR") tai käsin kirjoittamalla ("ICR", "Intelligent Character Recognition") tuotettua tekstiä, tai esimerkiksi kyselylomakkeiden rastitettuja ruutuja ("OMR", "Optical Mark Recognition") sähköisesti muokattavaan muotoon. Tunnistettava teksti on usein paperilla esim. erilaisissa asiakirjoissa, lehdissä tai erilaisissa kyselylomakkeissa, mutta voi olla myös saapuneissa sähköpostiviesteissä, tai www-sivujen palautteissa. 
OCR-teknologia syntyi vuonna 1929, jolloin Gustav Tauschek haki Saksassa ensimmäisen patenttinsa hahmojen tunnistamiseen. Tekstin tunnistamisen teknologia lähti varsinaisesti kehitykseen 1950-luvulla, jolloin sitä käytettiin aluksi pankkišekkeihin painettujen kirjasimien tunnistamiseen. Tätä kutsuttiin MICR-teknologiaksi (Magnetic Ink Character Recognition) ja sille tyypillisiä kirjasimia olivat E-13B ja CMC-7. Tässä šekkien MICR-kirjasimet painettiin musteella, joka sisälsi rautaoksidia. Sitten šekit luettiin erityisellä laitteella, jossa lukupää tunnisti merkit niiden magneettisuuden perusteella. Merkkien optinen tunnistaminen eli varsinainen OCR-teknologia yleistyi 1960-luvulla. Tätä varten kehitettiin erityiset kirjasimensa OCR-A ja OCR-B. Vakiomuotoisten kirjasimien tunnistaminen oli helpompaa ja luennan oikeellisuus pysyi luotettavana. Nykyään esimerkiksi Xerox markkinoi tulostimia joissa voidaan käyttää MICR väriainetta, jolloin tulosteet ovat luettavissa MICR lukijoilla.
Merkintunnistuksessa (erityisesti "OCR" ja "ICR") kootaan skannatusta asiakirjasta havaittuja pikseleitä (pisteitä) ja verrataan niiden muodostamia hahmoja olemassa oleviin kirjainhahmoihin ja pyritään näin tunnistamaan oikea merkki, joka voi olla esim. kirjain, numero tai jokin erikoismerkki. OMR:n kohdalla ohjelmistolle annetaan koordinaatein merkitty alue ("ruutu") josta ohjelmisto "lukee" pikseleiden määrän, ja jos tummien pikseleiden määrä ylittää annetun raja-arvon tulkitaan "ruutu" rastitetuksi.
Merkkien muodostaessa ryhmän voidaan tätä ryhmää vertailla kieliopin mahdollisiin sanoihin, jolloin voidaan automatisoidusti päätellä tunnistuksen oikeellisuus, ja siten vähentää ohjelmallisen tunnistuksen oikeellisuuden tarkistamiseen pääsääntöisesti liittyvää työtä.
Tätä tunnistuksen oikeellisuutta voidaan oleellisesti tarkentaa jos luettu tieto voidaan jollakin tavoin tarkistaa (kuten esimerkiksi henkilötunnus, passin numero, ajokortin numero, pankkitilin numero, pankkiviitteen numero jne, joissa esiintyy matemaattisen algoritmin avulla tarkistettavissa oleva tarkistetieto).
Tekstin tunnistamista helpottaa, jos skannattavassa asiakirjassa käytetään tasavälistä kirjasintyyppiä kuten Courier, mutta ohjelmistot ja laitteet kykenevät tunnistamaan myös useita muita kirjasintyyppejä.
Skannattavan kuvan suoristamisella ja tekstisuunnan samanmuotoisuudella (kaikki sivut samansuuntaisiksi) nostetaan lopputuloksen tarkkuutta. Useissa ohjelmistoissa on myös kuvanparannustoimintoja, joilla skannattavasta kuvasta voidaan poistaa ylimääräisiä pisteitä ja muita häiriöitä.
Tekstintunnistamisen oikeellisuuteen vaikuttaa asiakirjasta digitoimalla (skannaamalla) aikaan saadun kuvan laatu sekä sen lukutarkkuus. Erityisesti kontrasti vaikuttaa suuresti tunnistuksen toimivuuteen (selkeästi valkoinen tausta ja teräväreunaiset mustat kirjaimet). Lopputuloksen oikeellisuus paranee käytettäessä optimaalista lukutarkkuutta (dpi, dots per inch). Perinteisen merkintunnistuksen lukutarkkuutena käytetään yleisesti resoluutiota 300 dpi (Dots Per Inch). Viivakoodeja – kuten laskuissa esiintyvä pankkiviivakoodi – luettaessa voidaan käyttää myös 200 dpi resoluutiota. Liian suuri resoluutio tuo yleensä kuvaan liikaa informaatiota ("kohinaa", taustavärin pisteitä, jotka sumentavat luettavien merkkien reunoja ja siten huonotavat merkintunnistusohjelmiston toiminnan edellytyksiä).
Tekstintunnistusteknologiaa hyödynnetään erilaisissa sovellutuksissa, joissa erimuotoisista asiakirjoista pyritään automatisoidusti hakemaan ja löytämään ja lukemaan niissä olevaa ja/tai niitä yksilöiviä tietoja joko käytettäväksi ko. asiakirjojen indeksitietoina (hakutekijöinä), tai ko. asiakirjojen sisältämänä tietona joka viedään eteenpäin johonkin vastaanottavaan järjestelmään. Esimerkkejä tällaisista ovat laskut, sopimukset, tilaukset, pankkien maksupalvelutoimeksiannot, kyselylomakkeet, markkinatutkimukset tms. asiakirjat, joissa esiintyy sisältöä, joka halutaan tallentaa hallittavaan muotoon.
Tekstintunnistusohjelmisto tuottaa yleensä "raakatekstiä", jonka oikeellisuus riippuu ohjelmiston kyvystä "lukea" sille annettuja asiakirjoja.
Eri ohjelmistosovellukset käyttävät tällaista varsinaisen tekstintunnistuksen tuottamaa "raakatekstiä" oman toimintansa pohjana. Tekstintunnistusta hyödyntävien sovellusten avulla pyritään vähentämään manuaalisia työvaiheita asiakirjojen käsittelyssä ja automatisoimaan erilaisia prosesseja. Teknologiaa hyödynnetään myös sellaisissa tarkoituksissa joissa paperilla oleva, tai digitaalinen (esimerkiksi PDF) asiakirja halutaan saattaa muokattavaan muotoon siihen tehtävien muutosten vuoksi. Tekstintunnistusta hyödyntävillä sovelluksilla on myös merkittävä rooli rutiininen, esimerkiksi asiakirjojen tietojen manuaalisen syötön, korvaajana lomakkeiden, sopimusten, hakemusten ja laskujen tietojen haltuunoton yhteydessä kun asiakirjojen sisältämät tiedot halutaan tallentaa liiketoiminnan prosessia varten ("scan to process"), tai asiakirjat itsessään halutaan indeksoida ja tallentaa myöhempää käyttöä varten ("scan to archive").
Merkintunnistus- ("OCR")toimintoja on myös boteissa jotka kiertelevät keskustelupalstoilla ja lähettelevät roskapostia. OCR-toiminto antaa botille mahdollisuuden läpäistä kuvavarmennustesti (CAPTCHA).
Tekstin(merkin-)tunnistamiseen erikoistuneita ohjelmia ("OCR engine") ovat mm.
Sovellusohjelmistoja jotka käyttävät eri tekstintunnistusohjelmistoja (yhtä tai useampaa) osana omaa toimintaansa, ja jotka yleensä keskittyvät tiettyyn asiakirjatyyppiin (esim. lasku, lomake, kokosivun tunnistus)