自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

使用一行Python代碼從圖像讀取文本

開(kāi)發(fā) 后端
處理圖像不是一項(xiàng)簡(jiǎn)單的任務(wù)。對(duì)你來(lái)說(shuō),作為一個(gè)人,很容易看著某樣?xùn)|西然后馬上知道你在看什么。但電腦不是這樣工作的。

 處理圖像不是一項(xiàng)簡(jiǎn)單的任務(wù)。對(duì)你來(lái)說(shuō),作為一個(gè)人,很容易看著某樣?xùn)|西然后馬上知道你在看什么。但電腦不是這樣工作的。

 

[[312562]]

 

對(duì)你來(lái)說(shuō)太難的任務(wù),比如復(fù)雜的算術(shù),或者一般意義上的數(shù)學(xué),是計(jì)算機(jī)毫不費(fèi)力就能完成的。但在這里,情況正好相反——對(duì)你來(lái)說(shuō)很瑣碎的任務(wù),比如識(shí)別圖像中的貓或狗,對(duì)電腦來(lái)說(shuō)真的很難。在某種程度上,我們是天造地設(shè)的一對(duì)。至少現(xiàn)在是這樣。

雖然圖像分類(lèi)和涉及到一定程度計(jì)算機(jī)視覺(jué)的任務(wù)可能需要大量的代碼和扎實(shí)的理解,但是從格式良好的圖像中讀取文本在Python中卻是簡(jiǎn)單的,并且可以應(yīng)用于許多現(xiàn)實(shí)生活中的問(wèn)題。

在今天的帖子中,我想證明這一點(diǎn)。雖然會(huì)安裝一些庫(kù),但不會(huì)花很多時(shí)間。這些是你需要的庫(kù):

  • OpenCV
  • PyTesseract

OpenCV

現(xiàn)在,這個(gè)庫(kù)將只用于加載圖像,實(shí)際上你不需要事先對(duì)它有太多了解(盡管它可能有幫助,你將看到為什么)。

根據(jù)官方文件:

OpenCV(開(kāi)源計(jì)算機(jī)視覺(jué)庫(kù))是一個(gè)開(kāi)源的計(jì)算機(jī)視覺(jué)和機(jī)器學(xué)習(xí)軟件庫(kù)。OpenCV的目的是為計(jì)算機(jī)視覺(jué)應(yīng)用提供一個(gè)通用的基礎(chǔ)結(jié)構(gòu),并加速機(jī)器感知在商業(yè)產(chǎn)品中的使用。OpenCV是bsd許可的產(chǎn)品,OpenCV使企業(yè)可以輕松地使用和修改代碼

簡(jiǎn)而言之,你可以使用OpenCV來(lái)做任何類(lèi)型的圖像轉(zhuǎn)換,這是一個(gè)相當(dāng)簡(jiǎn)單的庫(kù)。

如果你還沒(méi)有安裝它,那么它將只是終端中的一行:

 

  1. pip install opencv-python 

差不多就是這樣。在此之前,一切都很簡(jiǎn)單,但這種情況即將改變。

PyTesseract

這個(gè)庫(kù)到底是什么東西?根據(jù)維基百科:

Tesseract是用于各種操作系統(tǒng)的光學(xué)字符識(shí)別引擎。它是免費(fèi)軟件,根據(jù)Apache許可2.0版發(fā)布,自2006年以來(lái)由Google贊助開(kāi)發(fā)。

我敢肯定,現(xiàn)在有更多復(fù)雜的庫(kù)可用,但是我發(fā)現(xiàn)這個(gè)庫(kù)運(yùn)行良好。根據(jù)我自己的經(jīng)驗(yàn),該庫(kù)應(yīng)該能夠從任何圖像中讀取文本,但前提是該字體不會(huì)使你連連看都看不懂。

如果無(wú)法從你的圖像中讀取文字,花更多的時(shí)間使用OpenCV,應(yīng)用各種過(guò)濾器使文本高亮。

現(xiàn)在安裝在底部有些麻煩。如果你使用的是Linux,則全部歸結(jié)為幾個(gè)sudo-apt get命令:

 

  1. sudo apt-get updatesudo apt-get install tesseract-ocrsudo apt-get install libtesseract-dev 

我用的是Windows系統(tǒng),所以這個(gè)過(guò)程有點(diǎn)乏味。

首先,打開(kāi)這個(gè)URL:https://github.com/UB-Mannheim/tesseract/wiki下載32位或64位的安裝程序:

 

使用一行Python代碼從圖像讀取文本

 

安裝本身很簡(jiǎn)單,只需單擊幾次Next。是的,你還需要做一個(gè)pip安裝:

 

  1. pip install pytesseract 

接下來(lái)要需要告訴Python Tesseract安裝在何處。在Linux機(jī)器上,我不需要這樣做,但在Windows上是必需的。默認(rèn)情況下,它安裝Program Files。

如果你做的一切正確,執(zhí)行這些代碼應(yīng)該不會(huì)產(chǎn)生任何錯(cuò)誤:

 

使用一行Python代碼從圖像讀取文本

 

獲取文本

讓我們從一個(gè)簡(jiǎn)單的開(kāi)始。我找到了一些免版稅的圖片,里面有一些文字,第一個(gè)是這樣的:

 

[[312564]]

 

它應(yīng)該是簡(jiǎn)單的一個(gè),有可能Tesseract會(huì)讀那些藍(lán)色的“對(duì)象”作為括號(hào)。讓我們看看會(huì)發(fā)生什么:

 

使用一行Python代碼從圖像讀取文本

 

我的猜測(cè)是正確的。不過(guò),這不是一個(gè)問(wèn)題,你可以使用一些Python技巧輕松地解決這些問(wèn)題。

下一個(gè)可能更棘手:

 

使用一行Python代碼從圖像讀取文本

 

我希望它不會(huì)檢測(cè)到硬幣上的“B”:

 

使用一行Python代碼從圖像讀取文本

 

看起來(lái)效果很好。

現(xiàn)在輪到你把它應(yīng)用到你自己的問(wèn)題上了。如果文本與背景混合,OpenCV技能在這里可能是至關(guān)重要的。

在你離開(kāi)之前

對(duì)計(jì)算機(jī)來(lái)說(shuō),從圖像中讀取文本是一項(xiàng)相當(dāng)困難的任務(wù)。想想看,電腦不知道字母是什么,它只對(duì)數(shù)字有效。在引擎蓋后面發(fā)生的事情一開(kāi)始可能看起來(lái)像一個(gè)黑盒子,但我鼓勵(lì)你進(jìn)一步研究,如果這是你感興趣的領(lǐng)域。

我并不是說(shuō)PyTesseract每次都能很好地工作,但是我發(fā)現(xiàn)即使在一些比較復(fù)雜的圖像上它也足夠好。但不是所有情況都很好,有時(shí)候需要一些圖像處理需要使文本高亮讓其相對(duì)于背景更加突出。

責(zé)任編輯:華軒 來(lái)源: 今日頭條
相關(guān)推薦

2016-12-02 08:53:18

Python一行代碼

2025-01-20 08:35:53

2022-04-09 09:11:33

Python

2020-08-19 10:30:25

代碼Python多線程

2021-11-02 16:25:41

Python代碼技巧

2017-04-13 19:20:18

Python代碼并行任務(wù)

2020-02-19 15:02:23

代碼開(kāi)發(fā)工具

2020-09-28 12:34:38

Python代碼開(kāi)發(fā)

2020-08-12 14:54:00

Python代碼開(kāi)發(fā)

2014-02-12 13:43:50

代碼并行任務(wù)

2017-04-05 11:10:23

Javascript代碼前端

2022-09-28 10:12:50

Python代碼可視化

2024-05-31 13:14:05

2015-11-09 17:04:57

2015-11-09 17:59:57

2020-09-09 16:00:22

Linux進(jìn)程

2021-08-31 09:49:37

CPU執(zhí)行語(yǔ)言

2023-11-10 09:41:44

Python代碼

2021-04-19 10:38:06

代碼開(kāi)發(fā)工具

2022-02-23 14:37:48

代碼Pythonbug
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)