日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

用Python进行图文识别(OCR)

發布時間:2023/12/15 python 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 用Python进行图文识别(OCR) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?

作者:?jclian,本人從事Python已一年多,是Python愛好者,喜歡算法,熱愛分享,希望能結交更多志同道合的朋友,一起在學習Python的道路上走得更遠!

OCR與Tesseract介紹

??將圖片翻譯成文字一般被稱為光學文字識別(Optical Character Recognition,OCR??梢詫崿FOCR 的底層庫并不多,目前很多庫都是使用共同的幾個底層OCR 庫,或者是在上面進行定制。
??Tesseract 是一個OCR 庫,目前由Google 贊助(Google 也是一家以OCR 和機器學習技術聞名于世的公司)。Tesseract 是目前公認最優秀、最精確的開源OCR 系統。
??除了極高的精確度,Tesseract 也具有很高的靈活性。它可以通過訓練識別出任何字體(只要這些字體的風格保持不變就可以),也可以識別出任何Unicode 字符。

Tesseract的安裝與使用

??Tesseract的Windows安裝包下載地址為:http://digi.bib.uni-mannheim.de/tesseract/tesseract-ocr-setup-4.00.00dev.exe ,下載后雙擊直接安裝即可。安裝完后,需要將Tesseract添加到系統變量中。在CMD中輸入tesseract -v, 如顯示以下界面,則表示Tesseract安裝完成且添加到系統變量中。


??Linux 用戶可以通過apt-get 安裝:


$sudo?apt-get?tesseract-ocr

? ? ?用Tesseract可以識別格式規范的文字,主要具有以下特點:?

  • 使用一個標準字體(不包含手寫體、草書,或者十分“花哨的”字體

  • 雖然被復印或拍照,字體還是很清晰,沒有多余的痕跡或污點

  • 排列整齊,沒有歪歪斜斜的字

  • 沒有超出圖片范圍,也沒有殘缺不全,或緊緊貼在圖片的邊緣

?? 下面將給出幾個tesseract識別圖片中文字的例子。

??首先是E://figures/other/poems.jpg, 輸入命令:tesseract E://figures/other/poems.jpg E://figures/other/poems.txt, 則會將poems.jpg中的識別文字寫入到poems.txt中,如下圖:

poems.jpg






??接著是稍微有點傾斜的文字圖片th.jpg,識別情況如下:



? ? 可以看到識別的情況不如剛才規范字體的好,但是也能識別圖片中的大部分字母。最后是識別簡體中文,需要事先安裝簡體中文語言包,下載地址為:https://github.com/tesseract-ocr/tessdata/find/master/chi_sim.traineddata ,再講chi_sim.traineddata放在C:Program Files (x86)Tesseract-OCR essdata目錄下。我們以圖片timg.jpg為例:



輸入命令:


tesseract?E://figures/other/timg.jpg?E://figures/other/timg.txt?-l?chi_sim

識別結果如下:

只識別錯了一個字,識別率還是不錯的。最后加一句,Tesseract對于彩色圖片的識別效果沒有黑白圖片的效果好。

pytesseract

??pytesseract是Tesseract關于Python的接口,可以使用pip install pytesseract安裝。安裝完后,就可以使用Python調用Tesseract了,不過,你還需要一個Python的圖片處理模塊,可以安裝pillow.
??輸入以下代碼,可以實現同上述Tesseract命令一樣的效果:

import?pytesseract
from?PIL?import?Image

pytesseract.pytesseract.tesseract_cmd?=?'C://Program?Files?(x86)/Tesseract-OCR/tesseract.exe'
text?=?pytesseract.image_to_string(Image.open('E://figures/other/poems.jpg'))

print(text)

運行結果(部分)如下:

參考文獻

  • 《Python網絡數據采集》 【美】 Ryan Mitchell ?人民郵電出版社

  • https://blog.csdn.net/dcrmg/article/details/78233459?locationNum=7&fps=1

  • http://www.inimei.cn/archives/297.html

  • §§

    Python中文社區作為一個去中心化的全球技術社區,以成為全球20萬Python中文開發者的精神部落為愿景,目前覆蓋各大主流媒體和協作平臺,與阿里、騰訊、百度、微軟、亞馬遜、開源中國、CSDN等業界知名公司和技術社區建立了廣泛的聯系,擁有來自十多個國家和地區數萬名登記會員,會員來自以公安部、工信部、清華大學、北京大學、北京郵電大學、中國人民銀行、中科院、中金、華為、BAT、谷歌、微軟等為代表的政府機關、科研單位、金融機構以及海內外知名公司,全平臺近20萬開發者關注。

    最近熱門


    數據解讀誰是直男們心中的女神


    分類模型評估的方法及Python實現


    我分析了虎嗅網5萬篇文章,發現這些秘密


    我爬取分析美團網,原來北京上海Top10美食是它們


    金州勇士4年3冠的成功秘訣!Python數據可視化分析告訴你答案


    投稿郵箱:pythonpost@163.com


    ▼?點擊下方閱讀原文,免費成為社區注冊會員?

    總結

    以上是生活随笔為你收集整理的用Python进行图文识别(OCR)的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。