最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

基于Python實(shí)現(xiàn)對PDF文件的OCR識別

 更新時間:2016年08月05日 16:25:17   投稿:daisy  
大家可能聽說過使用Python進(jìn)行OCR識別操作。在Python中,最出名的庫便是Google所資助的tesseract。利用tesseract可以很輕松地對圖像進(jìn)行識別。現(xiàn)在問題來了,如果想對一個PDF文檔進(jìn)行OCR識別,該怎么做呢?下面一起來看看。

最近在做一個項目的時候,需要將PDF文件作為輸入,從中輸出文本,然后將文本存入數(shù)據(jù)庫中。為此,我找尋了很久的解決方案,最終才確定使用tesseract。所以不要浪費(fèi)時間了,我們開始吧。

1.安裝tesseract

在不同的系統(tǒng)中安裝tesseract非常容易。為了簡便,我們以Ubuntu為例。

Ubuntu中你僅僅需要運(yùn)行以下命令:

這將會安裝支持3種不同語言的tesseract

2.安裝PyOCR

現(xiàn)在我們還需要安裝tesseract的Python接口。幸運(yùn)的是,有許多出色的Python接口。

我們采用最新的一個:

3.安裝Wand和PIL

在我們開始之前,還需要另外安裝兩個依賴包。一個是Wand。它是Imagemagick的Python接口。

我們需要使用它來將PDF文件轉(zhuǎn)換成圖像:

我們也需要PIL因?yàn)?strong>PyOCR需要使用它。你可以查看官方文檔以確定如何將PIL安裝到你的操作系統(tǒng)中。

4.熱身

讓我們開始我們的腳本吧。首先,我們需要導(dǎo)入一些重要的庫:

注意:我將從PIL導(dǎo)入的Image模塊改名為PI了,因?yàn)槿绻贿@樣做的話,它將和wand.image模塊發(fā)生重名沖突。

5.開始

現(xiàn)在我們需要獲得OCR庫(在本例中,即tesseract)的句柄以及我們在PyOCR中將使用的語言:

我們使用tool.get_available_languages里的第二種語言,因?yàn)橹拔以鴩L試過,第二種語言就是英語。

接著,我們需要建立兩個列表,用于存儲我們的圖像和最終的文本。

下一步,我們需要采用wand將一個PDF文件轉(zhuǎn)成jpeg文件。讓我們試一試吧!

注意:PDF_FILE_NAME替換成當(dāng)前路徑下的一個可用的PDF文件名。

wand已經(jīng)將PDF中所有的獨(dú)立頁面都轉(zhuǎn)成了獨(dú)立的二進(jìn)制圖像對象。我們可以遍歷這個大對象,并把它們加入到req_image序列中去。

現(xiàn)在,我們僅僅需要在圖像對象上運(yùn)行OCR即可,非常簡單:

現(xiàn)在,所有識別出的文本已經(jīng)加到了final_text序列中了。你可以任意地使用它。以上就是利用Python對PDF文件做OCR識別的全部內(nèi)容,希望這個教程能夠幫助到你們!

英文原文:https://pythontips.com/2016/02/25/ocr-on-pdf-files-using-python/

譯者:LuCima

相關(guān)文章

  • 詳細(xì)講解Python中的文件I/O操作

    詳細(xì)講解Python中的文件I/O操作

    這篇文章主要介紹了Python中的文件I/O操作,是Python入門中的基礎(chǔ)知識,需要的朋友可以參考下
    2015-05-05
  • python3實(shí)現(xiàn)用turtle模塊畫一棵隨機(jī)櫻花樹

    python3實(shí)現(xiàn)用turtle模塊畫一棵隨機(jī)櫻花樹

    今天小編就為大家分享一篇python3實(shí)現(xiàn)用turtle模塊畫一棵隨機(jī)櫻花樹,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11
  • Sanic框架流式傳輸操作示例

    Sanic框架流式傳輸操作示例

    這篇文章主要介紹了Sanic框架流式傳輸操作,結(jié)合實(shí)例形式分析了Sanic通過流請求與響應(yīng)傳輸操作相關(guān)實(shí)現(xiàn)技巧與注意事項,需要的朋友可以參考下
    2018-07-07
  • scipy.interpolate插值方法實(shí)例講解

    scipy.interpolate插值方法實(shí)例講解

    這篇文章主要介紹了scipy.interpolate插值方法介紹,本文結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-12-12
  • python 實(shí)現(xiàn)從高分辨圖像上摳取圖像塊

    python 實(shí)現(xiàn)從高分辨圖像上摳取圖像塊

    今天小編就為大家分享一篇python 實(shí)現(xiàn)從高分辨圖像上摳取圖像塊,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-01-01
  • pip指定python位置安裝軟件包的方法

    pip指定python位置安裝軟件包的方法

    今天小編就為大家分享一篇pip指定python位置安裝軟件包的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-07-07
  • Python實(shí)現(xiàn)的排列組合計算操作示例

    Python實(shí)現(xiàn)的排列組合計算操作示例

    這篇文章主要介紹了Python實(shí)現(xiàn)的排列組合計算操作,涉及Python數(shù)學(xué)運(yùn)算的相關(guān)函數(shù)與使用技巧,需要的朋友可以參考下
    2017-10-10
  • Python爬蟲Scrapy框架IP代理的配置與調(diào)試

    Python爬蟲Scrapy框架IP代理的配置與調(diào)試

    在調(diào)試爬蟲的時候,新手都會遇到關(guān)于ip的錯誤,本文就來介紹一下Python爬蟲Scrapy框架IP代理的配置與調(diào)試,具有一定的參考價值,感興趣的可以了解一下
    2021-12-12
  • pytorch 如何使用batch訓(xùn)練lstm網(wǎng)絡(luò)

    pytorch 如何使用batch訓(xùn)練lstm網(wǎng)絡(luò)

    這篇文章主要介紹了pytorch 如何使用batch訓(xùn)練lstm網(wǎng)絡(luò)的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-05-05
  • Python中斷多重循環(huán)的幾種方式詳解

    Python中斷多重循環(huán)的幾種方式詳解

    這篇文章主要介紹了Python中斷多重循環(huán)的幾種方式詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-02-02

最新評論

大方县| 黄冈市| 定西市| 门头沟区| 安西县| 同德县| 鹤壁市| 沙湾县| 连城县| 华池县| 集安市| 齐齐哈尔市| 贵德县| 栾城县| 安陆市| 河津市| 五华县| 新建县| 琼中| 佳木斯市| 沁阳市| 宜都市| 边坝县| 蓬溪县| 莱州市| 淳化县| 巴南区| 宁武县| 秦皇岛市| 洪湖市| 张家口市| 吴江市| 湛江市| 河北区| 楚雄市| 蓬莱市| 合作市| 定州市| 隆昌县| 连平县| 万州区|