Kirjoittaja Aihe: Skannatun printteritekstin muokkaus  (Luettu 10527 kertaa)

Seniorinörtti

  • Käyttäjä
  • Viestejä: 44
    • Profiili
Skannatun printteritekstin muokkaus
« : 20.01.15 - klo:18.06 »
Onko sellaista ohjelma olemassa?

Sinulla on esim. joku ohje printattuna paperille. Skannat sen omalle koneellesi Asiakirjakansioon.
Jossain vaiheessa tiedot muuttuvat ja olisi paikalla tehdä päivitys. Joitakin numeroita lisätä, muuttaa tai poistaa, lauseita ,sanoja niinikään. Jottei koko ohje tarvis kirjoittaa alusta loppuun asti uudelleen vaan ainoastaan muutokset, tähän etsin ratkaisua.

Yritin kopioida skannatun ohjeen Tekstinkäsittelyohjelmaan(libreoffice-writer, Abiword) ja siinä tehdä muutokset. Ei onnistunut.

Löytyykö ratkaisu?

Omalla kohdalla asia on toistaiseksi ratkaistu.

Kiitos kaikille, jotka ovat antaneet vinkkejä ja osallistuneet asian käsittelyssä. Tässä vaiheessa OCR-Feeder on opettelun ja harjoittelun kohteena.
« Viimeksi muokattu: 26.01.15 - klo:18.02 kirjoittanut Seniorinörtti »

kamara

  • Käyttäjä
  • Viestejä: 3032
    • Profiili
Vs: Skannatun printteritekstin muokkaus
« Vastaus #1 : 20.01.15 - klo:18.20 »
Taikasana on OCR, muttei minulla ole hyviä kokemuksia kyseisistä varsinkaan ilmaisista.

nm

  • Käyttäjä
  • Viestejä: 16430
    • Profiili
Vs: Skannatun printteritekstin muokkaus
« Vastaus #2 : 20.01.15 - klo:19.11 »
Kuvankäsittelyohjelmilla, kuten Gimpillä, voi tehdä tuollaisia pieniä viilauksia skannattuihin dokumentteihin, jotka ovat siis kuvatiedostoja (tarkemmin bittikarttakuvia). Usein skannauksen laatu on kuitenkin jokseenkin huono, eikä tausta ole ilman käsittelyä aivan valkoinen, jolloin uudelleen tulostettaessa laatu voi olla oleellisesti alkuperäistä heikompi.

Tekstintunnistuksella eli OCR-ohjelmalla bittikarttakuvan voi muuttaa käsiteltäväksi tekstiksi, jolloin mm. fonttiasetuksia pystyy säätämään ja tulostuksen laatu on hyvä. Ongelmana on automaattisessa tekstintunnistuksessa syntyvät virheet, asettelun ja eri fonttikokojen häviäminen sekä dokumentin piirrokset ja muut elementit, joita ilmaisohjelmat eivät yleensä osaa tulkita oikein.

Vika/fiba

  • Käyttäjä
  • Viestejä: 660
    • Profiili
Vs: Skannatun printteritekstin muokkaus
« Vastaus #3 : 20.01.15 - klo:19.34 »
Ongelma on myös OCR-ohjelmien huono kielitaito; ne eivät osaa suomea.
Kokeilin Xsanella ja Gocr-tekstintunnstusohjelmalla. Englanninkielinen teksti tallentui jokseenkin lukukelpoisena tekstiasiakirjaan (toki siinä oli paljon kirjoitusvirheitä), mutta suomenkielisestä ei enää ymmärtänyt jutun sisältöä. Paljon kirjaimia ja kokonaisia sanoja puuttui.
Muitakin tekstintunnistusohjelmia pakettivarastoissa on. En tiedä ovatko parempia tai huonompia kuin gocr.

kamara

  • Käyttäjä
  • Viestejä: 3032
    • Profiili
Vs: Skannatun printteritekstin muokkaus
« Vastaus #4 : 20.01.15 - klo:20.11 »
Voisi kokeilla myös seuraavaa...

Koodia: [Valitse]
sudo apt-get  install tesseract-ocr tesseract-ocr-fin

Sen jälkeen päätteellä:
Koodia: [Valitse]
tesseract -l fin kuvatiedostosi.png stdout

kuvatiedostosi.png:n sijasta skannatun tekstitiedoston nimi.

Sen jälkeen kopioida ohjelman tulostama teksti LibreOfficeen ja korjata virheet.

Edit - Valitettavasti kyseinen tunnistus kompuroi pahemman kerran I:n ja l:n tunnistuksessa.
« Viimeksi muokattu: 20.01.15 - klo:20.19 kirjoittanut kamara »

Vika/fiba

  • Käyttäjä
  • Viestejä: 660
    • Profiili
Vs: Skannatun printteritekstin muokkaus
« Vastaus #5 : 20.01.15 - klo:20.45 »
Kokeilinpa minäkin kamaran ohjeen mukaan. Testi-A4 onnistui hienosti! Vain muutama kirjain väärin. Tätä voi jo käyttää ihan hyötyohjelmana. Kiitos neuvosta :)

kamara

  • Käyttäjä
  • Viestejä: 3032
    • Profiili
Vs: Skannatun printteritekstin muokkaus
« Vastaus #6 : 20.01.15 - klo:21.31 »
Kokeilinpa minäkin kamaran ohjeen mukaan. Testi-A4 onnistui hienosti! Vain muutama kirjain väärin. Tätä voi jo käyttää ihan hyötyohjelmana. Kiitos neuvosta :)

Uusi tuttavuus ohjelma oli minullekin, mutta ajattelin sen toimivan kohtalaisesti, kun löytyi Suomenkieltä varten oma paketti.

Edit - Pienellä scriptillä saattaisi saada kyseisen toimimaan tämänhetkistäkin paremmin.

nm

  • Käyttäjä
  • Viestejä: 16430
    • Profiili
Vs: Skannatun printteritekstin muokkaus
« Vastaus #7 : 20.01.15 - klo:22.40 »
Edit - Valitettavasti kyseinen tunnistus kompuroi pahemman kerran I:n ja l:n tunnistuksessa.

Tämä riippuu jossain määrin fontista (serif on helpompi kuin sans serif, jossa I:llä ja l:llä ei ole välttämättä lainkaan eroa) ja kuvan resoluutiosta/laadusta. 300 dpi:n skannaus on Tesseractin kanssa suunnilleen optimaalinen, kun fontti on kokoa 10-12 pt. Tunnistettu teksti kannattaa sitten syöttää oikolukuun, joka näyttää käyttäjälle suurimman osan virheistä. Prosessiin voi käyttää jotain valmista OCR-käyttöliittymää tai tekstin voi tosiaan syöttää suoraan tekstinkäsittelyohjelmaan ja oikolukea siellä.

OCRFeeder on kohtalaisen suosittu ja pienen opettelun jälkeen ihan toimiva käyttöliittymä Tesseractille. Osaa erottaa kuvasisällön tekstistä ja tukee oikolukua ja joitakin esiprosessointitoimenpiteitä (unpaper eli taustan suodatus sekä yksinkertainen rivien suoristus). Asentuu Ubuntun sovellusvalikoimasta.

kamara

  • Käyttäjä
  • Viestejä: 3032
    • Profiili
Vs: Skannatun printteritekstin muokkaus
« Vastaus #8 : 21.01.15 - klo:08.02 »
Edit - Valitettavasti kyseinen tunnistus kompuroi pahemman kerran I:n ja l:n tunnistuksessa.

Tämä riippuu jossain määrin fontista (serif on helpompi kuin sans serif, jossa I:llä ja l:llä ei ole välttämättä lainkaan eroa) ja kuvan resoluutiosta/laadusta.

Napakymppi jälleen... Testitekstini sisälsi Sans-fontilla kirjoitetun tekstin.

Vika/fiba

  • Käyttäjä
  • Viestejä: 660
    • Profiili
Vs: Skannatun printteritekstin muokkaus
« Vastaus #9 : 21.01.15 - klo:09.41 »
Tein onnistuneen kokeeni päätteettömällä fontilla (arvaisin arialiksi) printatusta paperista, siinä tosin ei ollut I-kirjaimia haittaamassa.
Pienellä scriptillä saattaisi saada kyseisen toimimaan tämänhetkistäkin paremmin.
Skripti tosiaan olisi tarpeen monisivuisissa papereissa. Toisaalta, olisiko mahdollista integroida Tesseract skannausohjelmaan? Xsanessa on mahdollisuus tallentaa skannaus suoraan tekstiksi. Siinä on oletusohjelmana Gocr. Parametritkin olivat valmiina Xsanen asetuksissa, vaikka gocr ei ollut edes asennettuna koneelle. Yritin vaihtaa asetuksiin Tessractia, mutta ei se ihan suoraan mennyt.

joonas60

  • Käyttäjä
  • Viestejä: 255
  • Tietotekniikan kanssa puuhastelua yli 30 vuotta
    • Profiili
Vs: Skannatun printteritekstin muokkaus
« Vastaus #10 : 21.01.15 - klo:12.27 »
Toisaalta, olisiko mahdollista integroida Tesseract skannausohjelmaan?

Sellainen löytyy Ubuntun virallisista paketeista eli ocrfeeder. Käyttää juurikin (oletus) tesseract skannausohjelmaa, mutta tesseract-ocr-fin pitää erikseen asentaa.
Asetuksista voi muuttaa käyttämään jotain muuta skannausohjelmaa kuin tesseract.

Edit: Lisäyksiä
Edit: nm oli nähtävästi jo tästä ohjelmasta maininnut
« Viimeksi muokattu: 21.01.15 - klo:12.43 kirjoittanut joonas60 »
terv. joonas60
Asus X4909F, Windows 10, WSL2-Ubuntu

villevi

  • Käyttäjä
  • Viestejä: 90
    • Profiili
Vs: Skannatun printteritekstin muokkaus
« Vastaus #11 : 21.01.15 - klo:12.38 »
Sovellusvalikoimasta löytyy myös YAGF niminen ohjelma. Pitää vaan asentaa synapticilla tesseract:in kieli(t) mitä aikoo käyttää.

kamara

  • Käyttäjä
  • Viestejä: 3032
    • Profiili
Vs: Skannatun printteritekstin muokkaus
« Vastaus #12 : 21.01.15 - klo:13.41 »
Lisäksi ihan perus xsane pystyy skannaamaan ja lukemaan tekstiksi, kunhan asetuksiin laittaa seuraavaa scriptiä...

xsane-asetukset->OCR: OCR-komento...
Koodia: [Valitse]
/polkuni/ocr.sh

ocr.sh:n tiedot
Koodia: [Valitse]
#!/bin/bash
tesseract -l fin $2 stdout >$4

Tallennus ja muutto ajettavaksi:
Koodia: [Valitse]
chmod 755 ocr.sh

Käyttö omalla vastuulla...