Python 圖片文字識別的實(shí)現(xiàn)之PaddleOCR_第1頁
Python 圖片文字識別的實(shí)現(xiàn)之PaddleOCR_第2頁
Python 圖片文字識別的實(shí)現(xiàn)之PaddleOCR_第3頁
Python 圖片文字識別的實(shí)現(xiàn)之PaddleOCR_第4頁
Python 圖片文字識別的實(shí)現(xiàn)之PaddleOCR_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

第Python圖片文字識別的實(shí)現(xiàn)之PaddleOCR什么是OCR

光學(xué)字符識別(OpticalCharacterRecognition,OCR),是指對文本資料的圖像文件進(jìn)行分析識別處理,獲取文字及版面信息的過程。簡而言之,檢測圖像中的文本資料,并且識別出文本的內(nèi)容。

那么有哪些應(yīng)用場景呢?

其實(shí)我們?nèi)粘I钪刑幪幎加衞cr的影子,比如在疫情期間身份證識別錄入信息、車輛車牌號識別、自動(dòng)駕駛等。我們的生活中,機(jī)器學(xué)習(xí)已經(jīng)越來越多的扮演著重要角色,也不再是神秘的東西。

OCR的技術(shù)路線是什么呢?

ocr的運(yùn)行方式如下圖,輸入-圖像預(yù)處理-文字檢測-文本識別-輸出。

本文主要是介紹一個(gè)博主使用的比較好的OCR開源項(xiàng)目,在這里分享給大家PaddleOCR。

項(xiàng)目Github地址:PaddleOCR地址

我會按照剛接觸的狀態(tài),梳理一下驗(yàn)證使用該項(xiàng)目的過程。

先把項(xiàng)目從github上clone下來,慢慢分析。

首先我們看一下項(xiàng)目的構(gòu)造。

發(fā)現(xiàn)項(xiàng)目有中文的介紹說明,這就很方便了,點(diǎn)開按照官方的說明開始操作。

點(diǎn)開README.md,,可以從文檔教程中看到第一步就是教你如何安裝環(huán)境。

由于內(nèi)容過多,我就做個(gè)概括,方便大家直接上手。

1、安裝Anaconda,構(gòu)造虛擬環(huán)境

這里可以參考我的另一篇文章,里面很詳細(xì):Python機(jī)器學(xué)習(xí)第一章環(huán)境配置圖解流程

官方給的是python3.8的虛擬環(huán)境,我們也構(gòu)造一個(gè),打開AnacondaPrompt。

輸入命令:

condacreate-npaddle_envpython=3.8

激活環(huán)境:

condaactivatepaddle_env

2、依賴包下載

paddlepaddle安裝

pipinstallpaddlepaddle-i/pypi/simple

layoutparser安裝

pip3install-U/whl/layoutparser-0.0.0-py3-none-any.whl

Shapely安裝,這個(gè)需要下載,下載地址:Shapely下載地址

我選的是這個(gè)

安裝命令:

pipinstallShapely-1.8.0-cp38-cp38-win_amd64.whl

paddleocr安裝

pipinstallpaddleocr-i/pypi/simple

好的,環(huán)境有點(diǎn)多,都安裝好了就開始上手使用吧。

官方給出了兩種模式,一是命令行執(zhí)行,一是代碼執(zhí)行。為了直觀的看到配置,我這里使用的是代碼模式。

準(zhǔn)備一張帶文字的圖片

測試代碼如下

#!/user/bin/envpython

#coding=utf-8

@project:ocr_paddle

@author:huyi

@file:test.py

@ide:PyCharm

@time:2025-11-1514:56:20

frompaddleocrimportPaddleOCR,draw_ocr

#Paddleocr目前支持的多語言語種可以通過修改lang參數(shù)進(jìn)行切換

#例如`ch`,`en`,`fr`,`german`,`korean`,`japan`

ocr=PaddleOCR(use_angle_cls=True,use_gpu=False,

lang=ch)#needtorunonlyoncetodownloadandloadmodelintomemory

img_path=./data/2.jpg

result=ocr.ocr(img_path,cls=True)

forlineinresult:

#print(line[-1][0],line[-1][1])

print(line)

#顯示結(jié)果

fromPILimportImage

image=Image.open(img_path).convert(RGB)

boxes=[line[0]forlineinresult]

txts=[line[1][0]forlineinresult]

scores=[line[1][1]forlineinresult]

im_show=draw_ocr(image,boxes,txts,scores,font_path=./fonts/simfang.ttf)

im_show=Image.fromarray(im_show)

im_show.save(result.jpg)

代碼說明

1、因?yàn)槲业碾娔X沒有顯卡,所以設(shè)置了use_gpu=False。

2、顯示結(jié)果部分會將識別的文字用框標(biāo)出來,并且展示識別的結(jié)果。

驗(yàn)證一下

我們看到,打印的內(nèi)容有識別出來的每句話所在的圖片位置,以及識別結(jié)果和可信度。而上面的結(jié)果圖中,將每句話對應(yīng)的文字都框了出來。效果很不錯(cuò)!

官方還給出了一些參數(shù),可以調(diào)整輸出的內(nèi)容。可以參看quickstart.md文件。參數(shù)補(bǔ)充:

-單獨(dú)使用檢測:設(shè)置`--rec`為`false`

-單獨(dú)使用識別:設(shè)置`--det`為`false`

官方還提供一個(gè)標(biāo)準(zhǔn)的json結(jié)構(gòu)輸出數(shù)據(jù)

PP-Structure的返回結(jié)果為一個(gè)dict組成的list,示例如下

```shell

[{type:Text,

bbox:[34,432,345,462],

res:([[36.0,437.0,341.0,437.0,341.0,446.0,36.0,447.0],[41.0,454.0,125.0,453.0,125.0,459.0,41.0,460.0]],

[(Tigure-6.TheperformanceofCNNandIPTmodelsusingdifforen,0.90060663),(Tent,0.465441)])

}

]

```

總的來說,這

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論