黄色网页视频 I 影音先锋日日狠狠久久 I 秋霞午夜毛片 I 秋霞一二三区 I 国产成人片无码视频 I 国产 精品 自在自线 I av免费观看网站 I 日本精品久久久久中文字幕5 I 91看视频 I 看全色黄大色黄女片18 I 精品不卡一区 I 亚洲最新精品 I 欧美 激情 在线 I 人妻少妇精品久久 I 国产99视频精品免费专区 I 欧美影院 I 欧美精品在欧美一区二区少妇 I av大片网站 I 国产精品黄色片 I 888久久 I 狠狠干最新 I 看看黄色一级片 I 黄色精品久久 I 三级av在线 I 69色综合 I 国产日韩欧美91 I 亚洲精品偷拍 I 激情小说亚洲图片 I 久久国产视频精品 I 国产综合精品一区二区三区 I 色婷婷国产 I 最新成人av在线 I 国产私拍精品 I 日韩成人影音 I 日日夜夜天天综合

python識(shí)別圖像并提取文字的實(shí)現(xiàn)方法

系統(tǒng) 2369 0

前言

python圖像識(shí)別一般基礎(chǔ)到的就是tesseract了,在爬蟲中處理驗(yàn)證碼廣泛使用。

安裝

安裝教程網(wǎng)上大都差不多,Windows下確實(shí)比較麻煩,涉及到各種路徑、環(huán)境變量甚至與linux不同的路徑分隔符,所以這里的安裝是基于Centos7。

1. 依賴安裝

            
yum install -y automake autoconf libtool gcc gcc-c++
          

2. 安裝leptonica

Leptonica主要用于圖像處理和圖像分析

原則上所有的庫文件都是可以直接用yum安裝的,如果想要具體的某個(gè)版本,可以前往官方源下載對(duì)應(yīng)版本然后按照對(duì)應(yīng)方式編譯

            
wget http://www.leptonica.org/source/leptonica-1.74.4.tar.gz
tar -zxvf leptonica-1.74.4.tar.gz
cd leptonica-1.74.4/
./configure
make && make install
          

3. 安裝tesseract

其他各版本可以在這里下載并自行編譯,也提供直接使用的文件。

            
yum install tesseract
          

4. 驗(yàn)證安裝

            
tesseract --version
          

5. 語言包下載

前往tesseract-ocr/tessdata下載相應(yīng)的語言包,然后將之移動(dòng)到tessdata目錄下,可以用whereis tesseract查看一下具體的目錄,我的是/usr/share/tesseract/tessdata/mv *.traineddata /usr/local/share/tessdata/

6. 查看目前已下載的語言

tesseract --list-langs

使用

            
# tesseract
Usage:
 tesseract --help | --help-psm | --help-oem | --version
 tesseract --list-langs [--tessdata-dir PATH]
 tesseract --print-parameters [options...] [configfile...]
 tesseract imagename|stdin outputbase|stdout [options...] [configfile...]

OCR options:
 --tessdata-dir PATH  Specify the location of tessdata path.
 --user-words PATH   Specify the location of user words file.
 --user-patterns PATH Specify the location of user patterns file.
 -l LANG[+LANG]    Specify language(s) used for OCR.
 -c VAR=VALUE     Set value for config variables.
            Multiple -c arguments are allowed.
 --psm NUM       Specify page segmentation mode.
 --oem NUM       Specify OCR Engine mode.
NOTE: These options must occur before any configfile.
          

語法

            
tesseract imagename outputbase [-l lang] [-psm pagesegmode] [configfile...]
          
  • imagename:圖片名字
  • outputbase:指定輸出,如果希望直接輸出而不是保存到文件,那么就使用 stdout,否則這個(gè)參數(shù)將會(huì)作為保存結(jié)果的文件的前綴
  • -l指定語言文件,默認(rèn)使用英文
  • tesseract --print-parameters:查看更多參數(shù)信息
  • 使用-c指定單項(xiàng)參數(shù)的值或者將配置寫入配置文件放在命令最后(支持多個(gè)配置文件)
  • psm 識(shí)別圖像的方式

0:定向腳本監(jiān)測(cè)(OSD)

1: 使用OSD自動(dòng)分頁

2 :自動(dòng)分頁,但是不使用OSD或OCR(Optical Character Recognition,光學(xué)字符識(shí)別)

3 :全自動(dòng)分頁,但是沒有使用OSD(默認(rèn))

4 :假設(shè)可變大小的一個(gè)文本列。

5 :假設(shè)垂直對(duì)齊文本的單個(gè)統(tǒng)一塊。

6 :假設(shè)一個(gè)統(tǒng)一的文本塊。

7 :將圖像視為單個(gè)文本行。

8 :將圖像視為單個(gè)詞。

9 :將圖像視為圓中的單個(gè)詞。

10 :將圖像視為單個(gè)字符。

python中使用

Tesseract安裝完成后可以很方便的被Python調(diào)用,但是需要pillow和pytesseract的支持。

python中轉(zhuǎn)換

            
image_to_data(image, lang=None, config='', nice=0, output_type=Output.STRING)
          
  • image Object,由Tesseract處理的圖像的PIL Image/NumPy數(shù)組
  • lang String,Tesseract語言代碼字符串
  • config String,任何其他配置字符串,例如:config='--psm 6'
  • 語言文件可以疊加,用“+”隔開
  • 我們也可以在這里進(jìn)行tessdata路徑的設(shè)置,跟在config里面即可
  • 更多配置包括config和psm都和tesseract類似

實(shí)例:

流程: 打開圖片,配置,轉(zhuǎn)換,可以通過Image的open或者cv2的imread打開圖片,之后對(duì)圖片進(jìn)行對(duì)比度增強(qiáng),降噪等處理,效果會(huì)好一些。

            
from PIL import Image
import pytesseract
class Languages:
  CHS = 'chi_sim'
  ENG = 'eng'
def img_to_str(image_path, lang=Languages.ENG):
  return pytesseract.image_to_string(Image.open(image_path), lang)
print(img_to_str('pic/numu.png', lang=Languages.ENG))
print(img_to_str('pic/pro.png', lang=Languages.ENG))
          

python識(shí)別圖像并提取文字的實(shí)現(xiàn)方法_第1張圖片

總結(jié)

簡(jiǎn)單的文本識(shí)別效果還是不錯(cuò)的,但是設(shè)計(jì)到多空行、符號(hào)等,識(shí)別效果就不是太好了,準(zhǔn)確度方面可以通過對(duì)字庫的訓(xùn)練達(dá)到想要的效果,之后對(duì)獲取到的文本利用諸如re等各種庫進(jìn)行操作,其實(shí)應(yīng)用還蠻廣泛的。2. 但是它在驗(yàn)證碼方面的話效果還是不錯(cuò)的,驗(yàn)證碼的話tesserocr也是比較方面的.

識(shí)別中文可能會(huì)出現(xiàn)編碼錯(cuò)誤,這也是識(shí)別上的漏洞之一了,網(wǎng)上大佬們所說的改變文本的編碼似乎并不能解決問題,所以對(duì)長(zhǎng)文本圖片處理還是不太建議直接轉(zhuǎn)換。

圖文處理也可以借鑒一些各平臺(tái)的API,百度、騰訊、美團(tuán)都有支持.

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論