用于從圖像中提取畸變的直線的方法和裝置的制造方法
【技術領域】
[0001] 本發明涉及一種用于從圖像中提取畸變的直線的方法和裝置。
【背景技術】
[0002] 通過掃描儀和數碼相機獲得的文本圖像通常存在較大的畸變。為了矯正這些畸 變,首先需要提取文本圖像中畸變的直線。然后通過矯正這些畸變的直線來矯正整個文本 圖像。
[0003] 文本圖像中的畸變的直線如圖1所示,在圖1的上圖中所示的文件類型的文本圖 像和下圖中所示的書籍類型的文本圖像中,原本在文件或書籍中是水平直線的線成為畸變 的直線Ll和L2。
[0004] 從文本圖像中提取畸變的直線的現有方法有Hough變換和RANSAC算法。但是現 有的提取方法通常依賴于畸變后的曲線的特定參數形式并且不能提取任意形狀的曲線,因 此準確度低。
[0005] 針對現有技術中存在的缺陷,提出本申請。
【發明內容】
[0006] 在下文中給出關于本發明的簡要概述,以便提供關于本發明的某些方面的基本理 解。應當理解,這個概述并不是關于本發明的窮舉性概述。它并不是意圖確定本發明的關 鍵或重要部分,也不是意圖限定本發明的范圍。其目的僅僅是以簡化的形式給出某些概念, 以此作為稍后論述的更詳細描述的前序。
[0007] 本發明的一個主要目的在于提供一種用于從圖像中提取畸變的直線的方法,以至 少克服現有提取方法依賴于畸變后的曲線的特定參數形式并且不能提取任意形狀的曲線 的問題。
[0008] 根據本發明的一個方面,提供了一種用于從圖像中提取畸變的直線的方法,包括 以下步驟:對圖像執行線段檢測處理;對于檢測到的每個線段,尋找與當前線段不共線程 度低的鄰近線段,以將其組合到一起,從而得到一個或多個線段組合;以及,根據線段組合 來提取畸變的直線。
[0009] 在上述用于從圖像中提取畸變的直線的方法中,在提取步驟之前還包括以下步 驟:對線段組合執行用于優化梯度大小和平滑度的精細化處理。
[0010] 在上述用于從圖像中提取畸變的直線的方法中,通過構建和求解用于優化梯度大 小和平滑度兩者的平衡的能量函數來執行精細化處理。
[0011] 在上述用于從圖像中提取畸變的直線的方法中,當線段組合中存在大于預定像素 數目的中斷時執行精細化處理。對于中斷的長度大于預定像素值的兩個線段,可以將經過 精細化處理的兩個線段的端點的連線作為中斷處的線段進行提取。
[0012] 根據本發明的另一個方面,提供了一種用于從圖像中提取畸變的直線的裝置,包 括:檢測模塊,其被配置成對圖像執行線段檢測處理;組合模塊,其被配置成對于檢測到的 每個線段,尋找與當前線段不共線程度低的鄰近線段,以將其組合到一起,從而得到一個或 多個線段組合;以及提取模塊,其被配置成根據線段組合來提取畸變的直線。
[0013] 另外,本發明的實施例還提供了用于實現上述方法的計算機程序。
[0014] 此外,本發明的實施例還提供了至少計算機可讀介質形式的計算機程序產品,其 上記錄有用于實現上述方法的計算機程序代碼。
[0015] 根據本發明實施例的方法和裝置不依賴于畸變后的曲線的特定參數形式并且可 以提取任意形狀的曲線,因此提高了提取畸變的直線的準確率。
[0016] 此外,根據發明實施例的直線的方法和裝置的處理速度較快,
[0017] 通過以下結合附圖對本發明的最佳實施例的詳細說明,本發明的這些以及其它優 點將更加明顯。
【附圖說明】
[0018] 參照下面結合附圖對本發明實施例的說明,會更加容易地理解本發明的以上和其 它目的、特點和優點。附圖中的部件只是為了示出本發明的原理。在附圖中,相同的或類似 的技術特征或部件將采用相同或類似的附圖標記來表示。
[0019] 圖1是示意性地示出文本圖像中的畸變的直線的示意圖;
[0020] 圖2是示意性地示出根據本發明實施例的從圖像中提取畸變的直線的方法的流 程圖;
[0021] 圖3是示意性地示出根據本發明實施例的搜索當前線段的鄰近線段的方式的示 意圖;
[0022] 圖4是示意性地示出用于書籍類型的文本圖像的連接角的大小分布規律的示意 圖;
[0023] 圖5是示意性地示出灰度圖像中的處于從亮區域到暗區域的分界處的線段和處 于從暗區域到亮區域的分界處的線段的示意圖;
[0024] 圖6是示意性地示出根據本發明實施例的通過精細化處理后提取的畸變直線的 示意圖;
[0025] 圖7是示意性地示出根據本發明的一個實施例的用于從圖像中提取畸變的直線 的裝置的框圖;
[0026] 圖8是示意性地示出根據本發明的另一個實施例的用于從圖像中提取畸變的直 線的裝置的框圖;
[0027] 圖9示出了可以用于實施本發明的用于從圖像中提取畸變的直線的方法和裝置 的計算設備的舉例的結構圖。
【具體實施方式】
[0028] 下面參照附圖來說明本發明的實施例。在本發明的一個附圖或一種實施方式中描 述的元素和特征可以與一個或更多個其它附圖或實施方式中示出的元素和特征相結合。應 當注意,為了清楚的目的,附圖和說明中省略了與本發明無關的、本領域普通技術人員已知 的部件和處理的表示和描述。
[0029] 圖2是示意性地示出根據本發明的實施例的從圖像中提取畸變的直線的方法的 流程圖。以下參照圖2來描述根據本發明的實施例的從圖像中提取畸變的直線的方法。
[0030] 在步驟S201中,對圖像執行線段檢測處理。
[0031] 在對圖像執行線段檢測處理之前,可以先對原始圖像執行預處理,預處理可以是 下列處理中的一個或多個:將原始圖像成比例縮小,例如,對原始圖像進行下采樣,使得采 樣后得到的圖像的長寬是原始圖像的長寬的1/4 ;當原始圖像是彩色圖像時,將原始圖像 轉化成灰度圖像;以及,對原始圖像進行平滑,例如高斯平滑。本領域技術人員應該知道對 圖像執行的預處理是可以任意選擇的。
[0032] 然后,對經過預處理的圖像執行線段檢測處理。例如,可以在經過預處理的圖像上 運行Gioi等人提出的LSD算法,LSD算法的基本思想是對具有相似梯度方向和大小的像素 進行聚類來檢測直線段。但是由于LSD算法等線段檢測算法只能檢測到一些中斷的線段, 因此為了獲取圖像中的各個完整的畸變的直線,需要將這些線段進一步組合。
[0033] 在步驟S202中,對于檢測到的每個線段,尋找與當前線段不共線程度低的鄰近線 段,以將其組合到一起,從而得到一個或多個線段組合。上述不共線程度表示任意兩個線段 可以連接成直線的可能性,兩個線段的不共線程度越低,則兩個線段能夠連成直線的可能 性越大。
[0034] 在進行步驟S202之前可以先將檢測到的長度較小的線段進行濾除以去除噪聲, 例如,首先濾除長度小于6個像素的線段。另外,如果是從圖像中提取畸變的水平直線,則 還可以濾除長寬比較大的線段,例如,y/x>l. 5的線段,其中y表示線段在垂直的y軸方向 上的長度,X表示線段在水平的X軸方向上的線段寬度,當然,如果是從圖像中提取畸變的 垂直直線,則可以濾除長寬比較小的線段。
[0035] 對于經過濾除后留下的每個線段,尋找與當前線段不共線程度低的鄰近線段,具 體地,可以沿著當前線段的斜率方向限定一個鄰接矩形區域,在所述鄰接矩形區域內按照 先中間后兩邊、由近