Obrada slika dokumenta detekcija iskošenja teksta korištenjem Houghove transformacije
Uvod Aplikacija u osnovi urađena kao modularna Modul SkewDetection Implementacija detekcije iskošenja teksta korištenjem Bairdovog i Houghovog algoritma Implementacija rotacije za detektovani ugao iskošenja
Definicija problema Veliki broj dokumenata koje je potrebno digitalizovati Razlozi za digitalizaciju Brz i jednostavan prenos Obrada i restauracija Arhiviranje i brza pretraga Uređaji za digitalizaciju Faks aparat Skener
Teorija i tehnologija Metoda analize slike Detekcija ugla iskošenja Moguća rješenja: Bairdov algoritam Hougov algoritam Korištena je kombinacija prethodna dva algoritma
Bairdov algoritam Identifikovati sve povezane regione Pronaći okvir svakog regiona i locirati centralni piksel donje ivice okvira Projekcija i horizontalna projekcija Približno poznat ugao iskošenja Slika se rotira za taj iznos Računaju se projekcije za male uglove dok se ne pronađe maksimalna vrijednost funkcije mjere horizontalne projekcije
Houghov algoritam Metod za detekciju linija u rasterskoj slici Y=mX+b --> b=−Xm+Y Jedna tačka u prostornom domenu slike (X, Y) odgovara pravcu u (m, b) koordinatama Ako se N pravaca u Houghovom prostoru, koji odgovaraju pikselima u prostornom domenu slike, kojih takođe ima N, sijeku u jednoj tački onda tih N piksela leže na istom pravcu. Problem sa vertikalnim linijama jer naklon pravca m postaje beskonačan
Houghov algoritam Druga reprezentacija: r = xcos(ω) + ysin(ω) Prvi koraci Bairdovog algoritma za detekciju iskošenja daju sliku sa velikim brojem grupa kolinearnih piksela. Houghova slika od ovoga bi trebala imati vršnu vrijednost piksela u presječnim tačkama i to baš za ugao ω koji odgovara uglu iskošenja.
Detalji implementacije SkewDetection.dll Tri osnovne klase: Baird.cs Hough.cs HoughTransform.cs Klasa HoughTransform.cs sadrži sljedeće public funkcije: HoughSpaceImage(Slika original) BairdImage(Slika original) rotateSkewedImage(Slika original) rotateImage(Slika original)
Rezultati Slika sa iskošenjem od 20°
Rezultati Nakon primjene Bairdovog algoritma
Rezultati Houghova transformacija i detekcija vršne vrijednosti
Rezultati Nakon rotacije za detektovani ugao iskošenja
Dalje poboljšanje Povećanjem stepena kvantizacije koordinate ω Hougovog prostora Optimizacijom koda detekcije iskošenja bi se moglo poraditi na brzini izvođenja same aplikacije Rotacija slike se može implementirati operacijom matričnog množenja matrice slike i matrice transformacije
Skew detection Hvala na pažnji!