通過Python寫一個OCR圖片識別小程序

2021-02-15 Brook的知識分享平臺

在我們的日常辦公中,經常有識別圖片中的大段文字的需求。現在很多軟體都收費,所以本篇文章分享一個案例,如何通過Python寫一個ocr圖片識別小程序。

本例中的程序十分簡單,流程如下:

本例僅僅實現了基礎功能,還可以開發一個界面上傳圖片,或增加翻譯等功能。

本例用到了百度的OCR識別,可以到百度雲中免費註冊,每天可以免費識別5萬次,足夠日常使用。

根據百度的幫助文檔可以很方便的註冊和創建文字識別應用,參考連接:https://cloud.baidu.com/doc/OCR/s/zk3h7xz52

最終我們獲得了【請求URL】:https://aip.baidubce.com/rest/2.0/ocr/v1/general_basic

【API Key】和【Secret Key】,這樣就可以發送請求了。

接下來是代碼部分,參考注釋可以很輕易的讀懂程序,代碼量也較小:

import base64import requestsimport json
image_src = 'C:\\Users\\bli206\\Desktop\\Z.png' image_str_a = ''with open(image_src, 'rb') as f: data = f.read() encodestr = base64.b64encode(data) image_str_a = 'base64,'+str(encodestr,'utf-8') print(image_str_a[0:20]) print('圖片編碼長度:'+str(len(image_str_a)))
v_api_key = 'xxxxxxx 你的API Key'v_secret_key = 'xxxxxxx 你的Secret Key'r_token = requests.post(url='https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id='+v_api_key+'&client_secret='+v_secret_key)v_r_token = json.loads(r_token.text)v_token = v_r_token['access_token']print('獲取token:'+v_token)
rq_ocr_url = 'https://aip.baidubce.com/rest/2.0/ocr/v1/general_basic?access_token='+v_tokenrq_ocr_data = {'image':image_str_a}headers = {'content-type': 'application/x-www-form-urlencoded'}res_ocr = requests.post(url=rq_ocr_url,data=rq_ocr_data,headers=headers)ocr_result = json.loads(res_ocr.text)words_list = ocr_result['words_result']
result = ''for words in words_list: result = result + words['words']result = result.replace('\n', '').replace('\r', '')print(result)txt_src = 'C:\\Lee\\s\\python\\程序\\ocr_result.txt' with open(txt_src, 'w') as f2: f2.write(result)
print('over.')

註:本例中用到了python包,base64、requests和json,如果程序報錯無法引入module時可以使用pip進行安裝。

感謝閱讀。

請作者喝杯咖啡

相關焦點

  • 用 Python 寫了一個圖像文字識別 OCR 工具
    博主基於 PyQt + labelme + PaddleOCR 寫了一個桌面端的OCR工具,用於快速實現圖片中文本區域自動檢測+文本自動識別。功能列表OCR部分圖像文字檢測+文字識別算法,主要藉助 paddleocr 實現。創建或者選擇一個虛擬環境,安裝需要用到的第三方庫。
  • 用Python寫了一個圖像文字識別OCR工具
    博主基於 PyQt + labelme + PaddleOCR 寫了一個桌面端的OCR工具,用於快速實現圖片中文本區域自動檢測+文本自動識別。功能列表OCR部分圖像文字檢測+文字識別算法,主要藉助 paddleocr 實現。創建或者選擇一個虛擬環境,安裝需要用到的第三方庫。
  • Python 中文圖片OCR
    有個需求,需要從一張圖片中識別出中文,通過python來實現,這種這麼高大上的黑科技我們普通人自然搞不了,去github找了一個似乎能滿足需求的開源庫
  • 基於Tesseract的OCR識別小程序
    所以有部分並不是我們所需要的,為什麼這塊信息就不能做個平臺進行共享,類似於手機裡面識別和提交詐騙電話一樣。然後自己也搜索了下微信小程序裡有沒有類似的小程序,發現基本沒有,有些OCR相關程序但是使用相對繁瑣,並多數需要收費或開通會員等。所以自己就想著還是自己來開發一個相關的小程序,功能簡單,通過相機拍照獲取電話號碼,進行識別;可直接在裡面調用電話進行撥號。
  • 用python和Tesseract實現光學字符識別(OCR)
    在上周的博客中我們學會了安裝光學字符識別程序Tesseract,以及應用Tesseract程序來測試和評估OCR引擎在一小部分示例圖像上的性能。因此,我們傾向於訓練特定領域的圖像分類器和識別器。然而,在我們將OCR應用於我們自己的項目之前,我們需要了解如何通過Python程式語言來實現Tesseract OCR。涉及OCR的示例項目可能包括構建一個移動文檔掃描器,您希望從中提取文本信息,或者您正在運行掃描紙質醫療記錄的服務,並且希望將信息放入符合HIPA的資料庫。
  • Python Easyocr 圖片文字識別
    )-車牌數據集生成車牌識別(2)-搭建車牌識別模型今天給大家分享一個簡單的OCR文本識別工具:easyocr。當然這個模塊適當改進也可以用以車牌識別pip install easyocr -i https://pypi.tuna.tsinghua.edu.cn/simple它會安裝除了模型文件之外的所有依賴,模型文件則會在運行代碼的時候下載。在pytorch網站上,請確保選擇正確的CUDA版本。
  • Python 識別圖片中的文字—OCR實戰教程
    需要先下載安裝tesseract的程序,然後下載中文簡體字預訓練好的模型包(儘管本教程不會用tesseract,但還是給大家提供了)。你可以在Python實用寶典公眾號後臺回覆:tesseract 打包下載。
  • Python 5分鐘搭建OCR伺服器
    OCR(又叫光學字符識別)已經成為Python的一個常用工具。隨著開源庫Tesseract和Ocrad的出現,越來越多的程式設計師用OCR來編寫自己的庫文件和bot病毒。一個OCR的小例子,如用OCR直接從截圖中提取文本,省去了重新鍵入的麻煩。
  • 用Python進行圖文識別(OCR)
    Tesseract 是一個OCR 庫,目前由Google 贊助(Google 也是一家以OCR 和機器學習技術聞名於世的公司)。Tesseract 是目前公認最優秀、最精確的開源OCR 系統。  除了極高的精確度,Tesseract 也具有很高的靈活性。它可以通過訓練識別出任何字體(只要這些字體的風格保持不變就可以),也可以識別出任何Unicode 字符。
  • Python圖像處理之圖片文字識別(OCR)
    Tesseract 是一個OCR 庫,目前由Google 贊助(Google 也是一家以OCR 和機器學習技術聞名於世的公司)。Tesseract 是目前公認最優秀、最精確的開源OCR 系統。  除了極高的精確度,Tesseract 也具有很高的靈活性。它可以通過訓練識別出任何字體(只要這些字體的風格保持不變就可以),也可以識別出任何Unicode 字符。
  • 新功能:識別圖片文字導出為word
    >1.識別圖片上的文字2.按照圖片文字樣式進行格式化3.導出為word文檔4.2種算法實現:googel-tesseract-ocr / easyocr背景:幾天前媳婦給了我一張圖片,讓我把圖片上的內容導出來為可以編輯,識別圖片文字的軟體有挺多的了,不過能相對格式化的不多,借這次東風就順便了解了一下文字識別(OCR)相關的技術
  • 用python識別驗證碼
    今天,我們就簡單的說下,怎麼用python來處理驗證碼。(注意:我所有的python相關的文章用的都是python3。)準備工作1、tesseract-ocr軟體Tesseract的OCR引擎最先由HP實驗室於1985年開始研發,至1995年時已經成為OCR業內最準確的三款識別引擎之一。然而,HP不久便決定放棄OCR業務,Tesseract也從此塵封。
  • onlineocr:超級強大的在線圖片文字(OCR)識別工具
    許多小夥伴們會碰到拍攝或者掃描的文字圖需要進行編輯的問題,這時候一個字一個字的敲鍵盤,估計任誰都會崩潰的,現在有許多OCR軟體和在線工具,但是好一點、識別率的工具基本都要收費,不收費的識別率又太低,數據量也有限制。
  • 圖片文字轉換成word軟體下載-ocr文字識別
    圖片文字轉換成word軟體下載-ocr文字識別微信如何圖片文字轉換成word軟體下載-ocr文字識別
  • 免費在線ocr識別圖片轉文字,最高效的文字在線識別引擎
    免費在線ocr識別圖片轉文字,最高效的文字在線識別引擎免費在線ocr識別圖片轉文字,最高效的文字在線識別引擎
  • OCR(字符識別)軟體
    ▍4 微信小程序微信——發現——小程序——搜索小程序名● 6.1 傳圖識字小程序中的圖片轉文字,相當不錯。利用手機輸入法的全選 ---複製功能轉完可以直接複製出來。測試了很多小程序,只有這一款能把左邊這段文字完美一字不差(符號也不差)的識別出來。
  • python爬蟲實戰-爬取微信公眾號所有歷史文章 - (03) python結合tesseract-ocr做圖文識別
    前面我們講到了adb的封裝,裡面具體講到到了在一副圖片中尋找目標的坐標並點擊。這篇文章我們講講對一副圖片的特定區域做截取,並利用開源庫做圖紋識別。要實現這個步驟的原因是,最初想實現爬取微信公眾號歷史文章這個功能時,一番沒有抓包爬蟲經驗,於是為了獲取歷史文章的標題用於pdf列印時的命名,一番想到截圖後對圖片做圖文識別,然後點擊文章標題,進入到文章閱讀界面然後結合目標圖片識別「複製連結」來獲取到文章的連結。tesserat是一個開源的文字識別引擎,目前已經開發到4.0版本,訓練支持了100+種的語言了。
  • 用Python開發截圖識別OCR小工具
    今天,我們就來做一款實時截圖識別的小工具。顧名思義,運行程序時,可以實時的把你截出來的圖片中的文字識別出來。下次,當你想要複製「百度文庫」中的內容時,不妨試試這個程序。效果預覽其中「f1」是截圖的快捷鍵,「ctrl+c」是把截圖保存到剪貼板的快捷鍵。
  • 手把手教你用PaddleOCR與PyQT實現多語言文字識別的程序
    還可以自動截屏並進行識別支持識別結果的可視化, 可以手動修正識別結果, 並導出文件(.docx, .txt)及對應圖片小張越研究越感興趣,想更加深入地分析實現的原理,他根據軟體裡面的信息很快找到了作者。
  • Free Online OCR – 在線OCR圖片文字識別網站推薦
    對於偶爾才需要識別提取圖片文字的用戶來說,如果能有免費的OCR在線識別工具就好了,這樣既方便又無需付費。下面MS酋長就為大家推薦兩個在線OCR識別網站,名稱均為Free Online OCR。一、可同時識別多種語言的Free Online OCR(newocr.com)網址:http://www.newocr.com/newocr.com的一大優點就是可以同時識別圖片中的多種語言文字,這對於提取中英文混排文檔很是方便。