很多人覺得做一個 OCR 軟體有什麼難的,現在百度、騰訊、谷歌那麼多商用介面,我調用一下介面就好呀。確實,調用介面確實能完成這個事,但是要把這件事做的更優秀,那還是有很多事需要自己做的。
做一個 OCR 應用需要哪些技術
圖像壓縮技術
使用第三方的 OCR 介面,要把圖片傳到他們的伺服器,然後返回識別結果,上傳之前,壓縮圖片就是一個方面,你肯定不能拿原圖上傳,一張圖體積有 4M-5M,傳上去就得一會,所以白描可以做到將一張大圖壓得很小又能維持清晰度,既保證了傳輸速度又保證了識別質量。
波紋過濾
有的用戶反應在使用白描的過程中,他是直接拍攝電腦屏幕,識別結果超級不準確,後來發現就是屏幕上的一片片波紋干擾了文字,實際用眼睛看的時候好像沒看出什麼來,但是把圖的預覽區域使勁縮小,就能看出很明顯的一堆堆的波紋,我們也經過研究進行了適當的波紋優化,即時拍攝的屏幕有很多干擾條紋。也會把他們過濾掉,依然可以保證結果。
長圖自動裁剪
如果有人用過一些 OCR 介面,可能都知道太長的圖根本沒法識別,那就要把長圖裁剪成很多圖去識別,識別完了再把結果拼接起來,但是長圖裁剪這個事要讓用戶來手動裁嗎?那太累了!所以我們研究了一套自動切長圖的技術,可以自動檢測到文本位置和空行位置,自動的裁剪開,不會把文字切開,所以在白描里,你什麼都不用干,長圖直接扔過去識別就行。
去除雜亂背景
在紙很薄的情況下,背面的字會透出來,這樣就造成了識別的時候可能會把紙背面的字當內容去識別了,白描當然也提供了解決辦法,通過黑白色彩切換,可以很輕易的去除透出來的字或者其他雜亂背景。