OCR på Android

Vad är OCR?

Optisk teckenigenkänning (OCR) är en process för att automatiskt identifiera tecken eller symboler som tillhör ett visst alfabet från en bild. I det här inlägget kommer vi att fokusera på att förklara hur man använder OCR på Android.

När texten i bilden väl är igenkänd kan den användas för att:

    • Spara den till lagringsutrymme.
    • Bearbeta eller redigera den.
  • Översätta den till ett annat språk.

Populariteten hos smarttelefoner i kombination med allt bättre kameror har lett till en ökad användning av den här typen av igenkänningstekniker och en ny kategori av mobilappar som utnyttjar dem.

På enheten eller i molnet?

För att använda ett OCR-bibliotek är det nödvändigt att bestämma var OCR-processen ska äga rum, på smarttelefonen eller i molnet.

Avhängigt av appens krav har varje tillvägagångssätt sina för- och nackdelar.

Om appen till exempel kräver att man ska utföra teckenigenkänning utan internetuppkoppling, kommer OCR-motorn att starta på själva enheten. På detta sätt kan man undvika att skicka bilder till en server eftersom kameror monterade på aktuella enheter kan ta stora bilder.

Å andra sidan tenderar OCR-bibliotek att uppta mycket utrymme, eftersom det är nödvändigt att ladda ner vart och ett av de språk som ska erkännas, vilket vi kommer att förklara nedan.

Vilka bibliotek kan användas?

I följande länk till Wikipedia finns en jämförelsetabell med alla OCR-bibliotek, plattformar som stöds, programmeringsspråk som används vid utvecklingen och annan relevant information.

Länk: http://en.wikipedia.org/wiki/ List_of_optical_character_recognition_software

I det här inlägget kommer vi att använda biblioteket Tesseract, som sticker ut framför alla andra. Det är Open Source, har SDK, skapades av HP och utvecklas för närvarande av Google.

OCR på Android med hjälp av Tesseract-biblioteket

Althoug Tesseract kan köras på en Linux-server som en molntjänst, men i det här inlägget kommer vi att implementera Tesseract-biblioteket i en Android-app och starta OCR-motorn på själva enheten.

Det ursprungliga Tesseract-projektet för Android heter Tesseract Android Tools och innehåller verktyg för att kompilera Tesseract- och Leptonica-biblioteken för användning på Android-plattformen, samt ett Java API för åtkomst till dessa nativt kompilerade bibliotek.

Länk: https://github.com/rebbix/tesseract-android-tools/tree/master/tesseract-android-tools

För vårt exempel kommer vi att använda en gaffel av Tesseract Android Tools, som ger mer funktionalitet.

Link: https://github.com/rmtheis/tess-two

OCR Exempel på Android

Vi behöver några enkla steg för att utföra OCR på Android:

Observeringar

  • Kvaliteten på igenkänning kan variera beroende på bildbelysningsförhållanden, kamerans upplösning, textens typsnitt, textstorlek och annat …
  • För att uppnå högsta möjliga kvalitet är det mycket viktigt att texten är centrerad i bilden och att bilden är korrekt fokuserad.

Preview med hjälp av OCR i en översättarapp

Den följande videon visar en del av den app som jag utvecklar för mitt examensarbete (TFG), där jag använder de beskrivna OCR-teknikerna.

Lämna en kommentar