国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

識別圖片中的文字 - Tesseract 和 百度云OCR的對比

mushang / 2718人閱讀

摘要:一個簡單的圖片轉(zhuǎn)文字的函數(shù)實現(xiàn)如下。百度云這是偶然的發(fā)現(xiàn),百度云提供了一定額度的免費(fèi)的,目前是每日次,做做研究或者小應(yīng)用還勉強(qiáng)夠用,本文主要為了測試其效果。論中文,還是百度比谷歌更懂一點(diǎn)。

當(dāng)今時代人工智能都已經(jīng)是爛大街的詞了,OCR應(yīng)該也很多人都知道。

OCR (Optical Character Recognition,光學(xué)字符識別)是指電子設(shè)備(例如掃描儀或數(shù)碼相機(jī))檢查紙上打印的字符,通過檢測暗、亮的模式確定其形狀,然后用字符識別方法將形狀翻譯成計算機(jī)文字的過程。

本文主要記錄了通過Python使用OCR的兩次嘗試。

Tesseract

Tesseract,一款由HP實驗室開發(fā)由Google維護(hù)的開源OCR(Optical Character Recognition , 光學(xué)字符識別)引擎,特點(diǎn)是開源,免費(fèi),支持多語言,多平臺。

項目地址:https://github.com/tesseract-...

安裝使用

Tesseract的安裝比較簡單,在mac可以通過brew安裝。

brew install --with-training-tools tesseract

在windows可以通過exe安裝包安裝,下載地址可以從GitHub項目中的wiki找到。安裝完成后記得將Tesseract 執(zhí)行文件的目錄加入到PATH中,方便后續(xù)調(diào)用。

另外,默認(rèn)安裝會包含英文語言訓(xùn)練包,如果需要支持簡體中文或者繁體中文,需要在安裝時勾選。

或者安裝結(jié)束后到項目地址下載:https://github.com/tesseract-...

下載好的語言包放入到安裝目錄中的testdata下即可。在windows系統(tǒng)你還需要將testdata目錄也加入環(huán)境變量。

TESSDATA_PREFIX=C:Program Files (x86)Tesseract-OCR	essdata

如果一切就緒,你在命令行中就可以使用Tesseract命令。

# 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.

通過命令行你就可以完成簡單的圖片文字識別任務(wù)。

tesseract test.png outfile -l chi_sim
通過Python調(diào)用

Tesseract安裝完成后可以很方便的被Python調(diào)用,你需要安裝兩個包。

pip install pillow
pip install pytesseract

一個簡單的圖片轉(zhuǎn)文字的函數(shù)實現(xiàn)如下。

from PIL import Image
import pytesseract

class Languages:
    CHS = "chi_sim"
    CHT = "chi_tra"
    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("image/test1.png", lang=Languages.CHS))
print(img_to_str("image/test2.png", lang=Languages.CHS))

測試圖片- test1.png

識別結(jié)果:

process image file "image/test1.png" in 1.4782530478747697 seconds

8 所 調(diào) 人 , 在 - 方 。
深 從 久 , 定 中 央
。 所 澈 伊 人 , 圭 水 淳
。 淇 渡 從 之 , 定 圭 北 中 坂 。
。 所 澈 伊人 , 圭 水 浩
從 丿 , 定 圭 水 中 瀝 。

測試圖片 - test2.png

識別結(jié)果:

process image file "image/test2.png" in 1.2131140296607923 seconds

清 明 時 節(jié) 雨 紛 紛 , 路 上 行 人 欲 斷 魂
信 問 酒 家 何 處 有 , 牧 奕 通 指 槍 花 村 。
小結(jié)

Tesseract在識別清晰的標(biāo)準(zhǔn)中文字體效果還行,稍微復(fù)雜的情況就很糟糕,而且花費(fèi)的時間也很多,我個人覺得唯一的優(yōu)點(diǎn)就是免費(fèi)了。如果你不介意多花時間,可以考慮使用它提供的訓(xùn)練功能自定義你的語言庫,那樣在特定場景下識別率應(yīng)該能上一個臺階。

百度云OCR

這是偶然的發(fā)現(xiàn),百度云提供了一定額度的免費(fèi)的OCR API,目前是每日500次,做做研究或者小應(yīng)用還勉強(qiáng)夠用,本文主要為了測試其效果。

文檔地址:https://cloud.baidu.com/doc/O...

安裝使用

首先你需要注冊一個百度云BCE賬號,然后從控制面板新建一個文字識別應(yīng)用。

之后你就可以獲得調(diào)用API需要的 AppID,API Key 和 Secret Key。后面只要根據(jù)官方文檔一步一步走就可以了。

pip install baidu-aip
封裝和調(diào)用

參考文檔: https://cloud.baidu.com/doc/O...

from aip import AipOcr

config = {
    "appId": "your-id",
    "apiKey": "your-key",
    "secretKey": "your-secret-key"
}

client = AipOcr(**config)

def get_file_content(file):
    with open(file, "rb") as fp:
        return fp.read()

def img_to_str(image_path):
    image = get_file_content(image_path)
    result = client.basicGeneral(image)
    if "words_result" in result:
        return "
".join([w["words"] for w in result["words_result"]])

測試圖片- test1.png

識別結(jié)果:

process image file "image/test1.png" in 0.6331169034812572 seconds

蒹葭
先秦:佚名
蒹葭蒼蒼,白露為霜。所謂伊人,在水一方。
溯洄從之,道阻且長。溯游從之,宛在水中央。
蒹葭萋萋,白露未晞。所謂伊人,在水之湄。
溯洄從之,道陽且躋。溯游從之,宛在水中坻。
蒹葭采采,白露未已。所謂伊人,在水之涘。
溯洄從之,道阻且右。溯游從之,宛在水中沚。

測試圖片 - test2.png

識別結(jié)果:

process image file "image/test2.png" in 0.6621812639450142 seconds

清明時節(jié)雨紛紛,路上行人欲斷魂。
借問酒家何處有,牧童遙指杏花村。
小結(jié)

測試結(jié)果很明顯,我只能說百度云這個OCR真是挺厲害的,一個錯別字都沒有,不服不行。論中文,還是百度比谷歌更懂一點(diǎn)。而且百度OCR提供了更多的參數(shù)讓你更靈活的處理圖片,比如自定義旋轉(zhuǎn),返回可信度,特定類型證件識別等等。

更多的OCR

除了本文提到的OCR,其實還是有不少其他選擇。有一些直接提供Demo頁面,你直接上傳一張圖片就可以直接看到識別效果,比如:

微軟Azure 圖像識別:https://azure.microsoft.com/z...

有道智云文字識別:http://aidemo.youdao.com/ocrdemo

阿里云圖文識別:https://www.aliyun.com/produc...

騰訊OCR文字識別: https://cloud.tencent.com/pro...

你有沒有發(fā)現(xiàn)所有的大公司都有這樣的服務(wù)?以后我們買買買就行,花大力氣去發(fā)明輪子就沒多大意義了。

關(guān)于作者:Python技術(shù)愛好者,目前從事測試開發(fā)相關(guān)工作,轉(zhuǎn)載請注明原文出處。歡迎關(guān)注我的博客 https://betacat.online,你可以到我的公眾號中去當(dāng)吃瓜群眾。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/41245.html

相關(guān)文章

  • Tesseract 進(jìn)行圖像識別

    摘要:目前已作為開源項目發(fā)布在,其最新版本已經(jīng)支持中文,并提供了一個命令行工具。他能夠用來識別英文,但是不能識別中文。所以要下載中文的識別包這樣就能識別中文。至少對印刷的中文字識別效果是很好的。 1. Tesseract 介紹 Tesseract的OCR引擎最先由HP實驗室于1985年開始研發(fā),至1995年時已經(jīng)成為OCR業(yè)內(nèi)最準(zhǔn)確的三款識別引擎之一。然而,HP不久便決定放棄OCR業(yè)務(wù),Te...

    Tecode 評論0 收藏0
  • OCR識別驗證碼

    摘要:識別網(wǎng)站驗證碼詳見維基百科或者百度百科識別的驗證碼原理采集一批驗證碼,根據(jù)圖片特點(diǎn)進(jìn)行初步處理二值化灰度化濾波降噪等處理然后分割圖片,旋轉(zhuǎn)圖片,模板選取,訓(xùn)練算法,讓它更準(zhǔn)確。 最近在爬某網(wǎng)站,老是蹦出來驗證碼,就想著找個OCR破了這個驗證碼,然后就開始了OCR探索之旅。 首先簡單說一下什么是OCR OCR是(Optical Character Recognition,光學(xué)字符識別)的...

    Yangyang 評論0 收藏0
  • Python圖像處理之圖片文字識別OCR

    摘要:與介紹將圖片翻譯成文字一般被稱為光學(xué)文字識別,。是目前公認(rèn)最優(yōu)秀最精確的開源系統(tǒng)。我們以圖片為例輸入命令識別結(jié)果如下只識別錯了一個字,識別率還是不錯的。最后加一句,對于彩色圖片的識別效果沒有黑白圖片的效果好。 OCR與Tesseract介紹 ??將圖片翻譯成文字一般被稱為光學(xué)文字識別(Optical Character Recognition,OCR)。可以實現(xiàn)OCR 的底層庫并不多,...

    W4n9Hu1 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<