iText - OCR 截圖識(shí)字新版:重寫(xiě)算法坦敌,段落識(shí)別更精準(zhǔn)

在介紹新版前,稍稍解釋下背景知識(shí)痢法。

OCR 服務(wù)已經(jīng)識(shí)別出文字了狱窘,iText 還要做什么?

iText 發(fā)布后财搁,受到很多朋友的歡迎和好評(píng)训柴,解決了諸如掃描版 PDF 無(wú)法復(fù)制等問(wèn)題。

image

不過(guò)妇拯,也有一些朋友有些誤解幻馁,覺(jué)得 iText 僅僅是調(diào)用了 OCR 服務(wù),是個(gè)殼而已越锈。其實(shí)仗嗦,并不盡然

雖然甘凭,我覺(jué)得用戶(hù)并不需要知道這些軟件背后的故事稀拐,只要軟件好用即可。不過(guò)看來(lái)丹弱,既然有誤解德撬、有好奇,我還是簡(jiǎn)單提及一些吧躲胳。

OCR 服務(wù)識(shí)別 后蜓洪,得到的是這樣的結(jié)果:各文字片斷及其位置。

image

但坯苹,如果根據(jù)這些信息還原出自然語(yǔ)境下的段落隆檀?這是很難的。

比如,對(duì)于下面這張圖:

image

OCR 識(shí)別出來(lái)的結(jié)果是類(lèi)似這樣的(為了方便示意恐仑,我在各行間額外加了空行):

3.1新用戶(hù)引導(dǎo)

這事的矛盾之處在于:新用戶(hù)和老用戶(hù)的矛盾泉坐。

進(jìn)一步說(shuō),我追求程序的簡(jiǎn)潔。尤其是在用戶(hù)對(duì) itext熟悉之后,并不需要程序有過(guò)多的描述裳仆。比如,文字按

鈕可以被圖標(biāo)按鈕取代,用界面上根本看不到的快捷鍵進(jìn)行操作,等等腕让。可問(wèn)題是,熟悉是需要一個(gè)過(guò)程,新

用戶(hù)需要多次操作后,才能掌握這些甚至有些晦澀的技巧歧斟。沒(méi)有新用戶(hù),又何來(lái)老用戶(hù)?

這二者的矛盾,怎么解決呢?

你可能覺(jué)得纯丸,這沒(méi)什么呀,我自己手動(dòng)把多余的換行符刪掉不就可以了构捡?你說(shuō)的對(duì)。不過(guò)壳猜,這樣的體驗(yàn)并不爽勾徽。

為了讓你用的爽、少了這步手動(dòng)操作统扳,我自己試著列出常見(jiàn)的段落分布喘帚,分析其中的位置規(guī)律,實(shí)現(xiàn)相應(yīng)的識(shí)別段落的算法咒钟。

image

目前來(lái)看吹由,效果還是可以的:

3.1 新用戶(hù)引導(dǎo)

這事的矛盾之處在于:新用戶(hù)和老用戶(hù)的矛盾。

進(jìn)一步說(shuō)朱嘴,我追求程序的簡(jiǎn)潔倾鲫。尤其是在用戶(hù)對(duì) iText 熟悉之后,并不需要程序有過(guò)多的描述萍嬉。比如乌昔,文字按鈕可以被圖標(biāo)按鈕取代,用界面上根本看不到的快捷鍵進(jìn)行操作壤追,等等磕道。可問(wèn)題是行冰,熟悉是需要一個(gè)過(guò)程溺蕉,新用戶(hù)需要多次操作后,才能掌握這些甚至有些晦澀的技巧悼做。沒(méi)有新用戶(hù)疯特,又何來(lái)老用戶(hù)?

這二者的矛盾肛走,怎么解決呢辙芍?

注:以上是 iText 識(shí)別并優(yōu)化后的結(jié)果,未加手工編輯;其中的標(biāo)點(diǎn)符號(hào)也已修正故硅。

iText 第一版發(fā)布后庶灿,收到用戶(hù)反饋的一些圖片,一些段落的識(shí)別有問(wèn)題吃衅。于是往踢,我花了不知道幾個(gè)小時(shí),重寫(xiě)了段落識(shí)別相關(guān)的算法徘层。目前峻呕,對(duì)于中英文混排,在使用騰訊服務(wù)時(shí)趣效,段落識(shí)別的效果已經(jīng)很好了瘦癌。

不過(guò),并不完美跷敬。主要是在一些場(chǎng)景下讯私,除非結(jié)合語(yǔ)義識(shí)別,否則是無(wú)法僅根據(jù)位置信息來(lái)劃分段落的西傀。如果你發(fā)現(xiàn)有問(wèn)題的圖斤寇,歡迎發(fā)給我,我來(lái)優(yōu)化算法拥褂。

下面給出一些典型的含段落的圖娘锁,大家可以自己試試。

圖 1:https://ws4.sinaimg.cn/large/006tKfTcgy1fm6c8xxge5j30mw0q67i2.jpg

圖 2:https://ws1.sinaimg.cn/large/006tKfTcgy1fm6c99zhzij30te0wuahg.jpg

識(shí)別后的文本優(yōu)化

另外饺鹃,段落識(shí)別只是對(duì) OCR 服務(wù)優(yōu)化的一部分莫秆,還有文本的優(yōu)化,比如中英文之間需要增加空格等等悔详。

如果說(shuō)段落識(shí)別很麻煩馏锡,文本優(yōu)化則更多麻煩,根本的原因在于:需要對(duì)內(nèi)容進(jìn)行識(shí)別伟端。比如:

  • 英文段落首字母大寫(xiě)杯道,這規(guī)則沒(méi)錯(cuò)吧,但對(duì)于 "iPhone is a good phone." 這樣的情況责蝠,iPhone 是特定詞匯党巾,i 不應(yīng)該大寫(xiě)。
  • 中文文字后的 '.' 應(yīng)該使用全角的 "霜医。"齿拂,這規(guī)則也沒(méi)錯(cuò)吧,但對(duì)于『今天天氣真熱啊...』肴敛,明顯又不應(yīng)該替換署海;亦或是 JSON 數(shù)據(jù)『"name": "張飛"』中的 " 也不應(yīng)該被替換吗购。
  • 以及其他無(wú)數(shù)多的例子。

沒(méi)辦法砸狞,只能有所取舍捻勉。目前,iText 主要完成了這些部分的優(yōu)化:

  • 自動(dòng)識(shí)別段落
  • 中文環(huán)境使用全角標(biāo)點(diǎn)符號(hào)
  • 中文與英文字母刀森、數(shù)字間增加空格
  • 刪除中文字符間踱启、英文字符與標(biāo)點(diǎn)符號(hào)間的多余空格
  • 英文首字母大寫(xiě)

手動(dòng)選擇 OCR 服務(wù)

目前,如果你在國(guó)內(nèi)使用 iText研底,默認(rèn)使用的是騰訊的服務(wù)埠偿;國(guó)外則使用 Google.

如果你有 Google 信仰、或者需要識(shí)別日文等其他語(yǔ)言榜晦,可以 右擊 iText 菜單欄圖標(biāo)冠蒋,手動(dòng)選擇使用騰訊或 Google OCR 服務(wù)

不過(guò)乾胶,從實(shí)測(cè)和目前優(yōu)化的情況來(lái)看抖剿,中文還是建議使用騰訊;大家可以自行測(cè)試胚吁。

下載

新版 iText 已上架 Mac App Store牙躺,點(diǎn)擊下載

每月可免費(fèi)識(shí)別 20 次愁憔,訂閱 iText 高級(jí)版即可無(wú)限次識(shí)別腕扶。高級(jí)版限時(shí) 6 折優(yōu)惠:¥3/月、¥30/年吨掌,持續(xù)至 12.12

如果你覺(jué)得 iText 還不錯(cuò)半抱,還請(qǐng)幫忙 在 App Store 評(píng)論;如果你覺(jué)得 iText 還可以改進(jìn)膜宋,歡迎:

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末窿侈,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子秋茫,更是在濱河造成了極大的恐慌史简,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,270評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件肛著,死亡現(xiàn)場(chǎng)離奇詭異圆兵,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)枢贿,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,489評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén)殉农,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人局荚,你說(shuō)我怎么就攤上這事超凳∮郏” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,630評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵轮傍,是天一觀的道長(zhǎng)暂雹。 經(jīng)常有香客問(wèn)我,道長(zhǎng)金麸,這世上最難降的妖魔是什么擎析? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,906評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮挥下,結(jié)果婚禮上揍魂,老公的妹妹穿的比我還像新娘。我一直安慰自己棚瘟,他們只是感情好现斋,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,928評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著偎蘸,像睡著了一般庄蹋。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上迷雪,一...
    開(kāi)封第一講書(shū)人閱讀 51,718評(píng)論 1 305
  • 那天限书,我揣著相機(jī)與錄音,去河邊找鬼章咧。 笑死倦西,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的赁严。 我是一名探鬼主播扰柠,決...
    沈念sama閱讀 40,442評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼疼约!你這毒婦竟也來(lái)了卤档?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,345評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤程剥,失蹤者是張志新(化名)和其女友劉穎劝枣,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體织鲸,經(jīng)...
    沈念sama閱讀 45,802評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡舔腾,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,984評(píng)論 3 337
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了昙沦。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片琢唾。...
    茶點(diǎn)故事閱讀 40,117評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖盾饮,靈堂內(nèi)的尸體忽然破棺而出采桃,到底是詐尸還是另有隱情懒熙,我是刑警寧澤,帶...
    沈念sama閱讀 35,810評(píng)論 5 346
  • 正文 年R本政府宣布普办,位于F島的核電站工扎,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏衔蹲。R本人自食惡果不足惜肢娘,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,462評(píng)論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望舆驶。 院中可真熱鬧橱健,春花似錦、人聲如沸沙廉。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,011評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)撬陵。三九已至珊皿,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間巨税,已是汗流浹背蟋定。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,139評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留草添,地道東北人驶兜。 一個(gè)月前我還...
    沈念sama閱讀 48,377評(píng)論 3 373
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像果元,于是被迫代替她去往敵國(guó)和親促王。 傳聞我的和親對(duì)象是個(gè)殘疾皇子犀盟,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,060評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • 比如监署,在看類(lèi)似上面的掃描版 PDF 時(shí),想要復(fù)制其中的文字纽哥,怎么辦钠乏?手打?太累春塌。試試我新開(kāi)發(fā)的工具 iText 吧...
    ITJason閱讀 1,424評(píng)論 7 7
  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,180評(píng)論 25 707
  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫(kù)晓避、插件簇捍、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 12,107評(píng)論 4 62
  • 內(nèi)存管理 ARC是Swift默認(rèn)的內(nèi)存管理機(jī)制,其針對(duì)堆上的對(duì)象,由編譯器自動(dòng)生成操作引用計(jì)數(shù)的指令(retain...
    AAup閱讀 635評(píng)論 0 1
  • 如果暑塑,沒(méi)有值得歡喜的事 就給心打開(kāi)一扇窗 迎接明天的曙光 如果,沒(méi)有值得歡喜的事 就讓嘴角掛上蜜汁微笑 月牙彎彎的...
    月亭閱讀 384評(píng)論 10 10