chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

把樹(shù)莓派打造成識(shí)別文本的“神器”!

上海晶珩電子科技有限公司 ? 2025-03-25 09:30 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

在許多項(xiàng)目中,Raspberry Pi被用作監(jiān)控?cái)z像頭或執(zhí)行機(jī)器學(xué)習(xí)任務(wù)。在這些場(chǎng)景中,圖像中經(jīng)常包含應(yīng)用程序感興趣的文本信息。我們希望提取這些信息并將其轉(zhuǎn)換,以便通過(guò)程序分析文本。Raspberry Pi也能實(shí)現(xiàn)這種文本識(shí)別,而且并不困難。我們可以從靜態(tài)圖像或攝像頭的實(shí)時(shí)流中讀取文本。

在本教程中,我們將探討如何使用Raspberry Pi實(shí)現(xiàn)文本識(shí)別,以及為此需要哪些組件。

開(kāi)始前的必要組件

該應(yīng)用的主要部分是純軟件基礎(chǔ)的。因此,我們只需要少量的硬件來(lái)設(shè)置文本識(shí)別。我們將需要并使用以下組件:

強(qiáng)大的Raspberry Pi(例如 Model 4)

官方Raspberry Pi攝像頭,或者:USB 網(wǎng)絡(luò)攝像頭

電源連接:micro USB 線纜和 USB 適配器

可以使用屏幕、鍵盤(pán)和鼠標(biāo),但由于我們遠(yuǎn)程操作Raspberry Pi,因此它們并非必需。因此,您應(yīng)該已經(jīng)相應(yīng)地設(shè)置了Raspberry Pi,并啟用了 SSH,還建立了遠(yuǎn)程桌面連接。之后,我們就可以直接開(kāi)始了。使用 SSH 和 Putty 遠(yuǎn)程訪問(wèn)

什么是文本識(shí)別(OCR)以及它在Raspberry Pi上是如何工作的?

簡(jiǎn)而言之,圖像上的文本識(shí)別(光學(xué)字符識(shí)別或簡(jiǎn)稱(chēng) OCR)實(shí)際上是識(shí)別單個(gè)字母。如果它們足夠接近,就會(huì)形成一個(gè)單詞。

在之前的教程中,我們已經(jīng)看到可以訓(xùn)練一個(gè)模型來(lái)識(shí)別圖像上的物體。如果我們現(xiàn)在訓(xùn)練所有(拉丁)字母——而不是物體——我們也可以通過(guò)模型再次識(shí)別它們。

理論上,這是可行的,但需要付出很多努力。必須先訓(xùn)練不同的字體、顏色、格式等。但是,我們想節(jié)省為此所需的時(shí)間。

因此,我們使用來(lái)自 Google 的 Tesseract庫(kù)。它已包含此類(lèi)模型,并且經(jīng)過(guò)了許多開(kāi)發(fā)人員的優(yōu)化。

安裝 Tesseract OCR 庫(kù)

我們可以自己編譯 Tesseract,或者簡(jiǎn)單地通過(guò)包管理器安裝它。后者可以通過(guò)以下命令輕松完成:

sudo apt install tesseract-ocr

我們可以使用tesseract -v 輕松檢查安裝是否成功。

現(xiàn)在,我們可以進(jìn)行第一次小測(cè)試。為此,我們將使用這張圖片:

cd9620ea-0918-11f0-9434-92fbcf53809c.png

您可以通過(guò)以下方式下載它:

wget https://tutorials-raspberrypi.de/wp-content/uploads/coffee-ocr.jpg

然后,我們執(zhí)行以下命令:

tesseract coffee-ocr.jpg stdout

輸出如下所示:

Warning: Invalid resolution 0 dpi. Using 70 instead.Estimating resolution as 554COFFEE

因此,在我們的輸入圖像中,文本“COFFEE”被識(shí)別出來(lái)了。

由于我們想在 Python 腳本中使用整個(gè)功能,因此我們需要一些庫(kù),如 OpenCV和 Tesseract 的 Python 包裝器。OpenCV:https://opencv.org/我們通過(guò) Python 包管理器安裝它們:

pip3 install opencv-python pillow pytesseract imutils numpy

在Raspberry Pi上通過(guò) Python 腳本測(cè)試文本識(shí)別

到目前為止,我們僅在未處理的彩色圖像上嘗試識(shí)別單詞。預(yù)處理步驟通常可以改善結(jié)果。例如,通過(guò)將彩色圖像轉(zhuǎn)換為灰度圖像。另一方面,我們也可以嘗試檢測(cè)圖像中的邊緣,以更好地突出字母/單詞。

因此,讓我們首先通過(guò) Python 腳本在Raspberry Pi上啟用文本識(shí)別。為此,我們創(chuàng)建一個(gè)文件夾和一個(gè)文件。

mkdir ocrcd ocrsudo nano example.py

我們插入以下內(nèi)容:

import cv2import pytesseractimport numpy as npfrom pytesseract import Output img_source = cv2.imread('images/coffee.jpg') def get_grayscale(image): return cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) def thresholding(image): return cv2.threshold(image, 0, 255, cv2.THRESH_BINARY + cv2.THRESH_OTSU)[1] def opening(image): kernel = np.ones((5, 5), np.uint8) return cv2.morphologyEx(image, cv2.MORPH_OPEN, kernel) def canny(image): return cv2.Canny(image, 100, 200) gray = get_grayscale(img_source)thresh = thresholding(gray)opening = opening(gray)canny = canny(gray) for img in [img_source, gray, thresh, opening, canny]: d = pytesseract.image_to_data(img, output_type=Output.DICT) n_boxes = len(d['text']) # back to RGB if len(img.shape) == 2: img = cv2.cvtColor(img, cv2.COLOR_GRAY2RGB) for i in range(n_boxes): if int(d['conf'][i]) > 60: (text, x, y, w, h) = (d['text'][i], d['left'][i], d['top'][i], d['width'][i], d['height'][i]) # don't show empty text if text and text.strip() != "": img = cv2.rectangle(img, (x, y), (x + w, y + h), (0, 255, 0), 2) img = cv2.putText(img, text, (x, y - 10), cv2.FONT_HERSHEY_SIMPLEX, 1.2, (0, 255, 0), 3) cv2.imshow('img', img) cv2.waitKey(0)

讓我們看看一些有趣的行:

導(dǎo)入庫(kù)(第1-4行)

加載圖像(第5行),根據(jù)需要調(diào)整路徑!

預(yù)處理函數(shù),用于轉(zhuǎn)換為灰度值(第9-23行)

第32行:在這里,我們提取任何數(shù)據(jù)(文本、坐標(biāo)、分?jǐn)?shù)等)

為了能夠在之后為框著色,如果必要,我們將灰度圖像轉(zhuǎn)換回具有顏色通道的圖像(第36-37行)

從第39行開(kāi)始,將為分?jǐn)?shù)高于60的框著色。

為此,我們?cè)诘?1行提取文本、起始坐標(biāo)和框的尺寸。

只有當(dāng)檢測(cè)到(非空)文本時(shí),我們才繪制框(第43-45行)。

然后,我們運(yùn)行腳本并等待按下轉(zhuǎn)義鍵(第47/48行)。

我們現(xiàn)在運(yùn)行腳本:

python3 example.py

然后,5張不同的圖像會(huì)依次出現(xiàn)(按 ESC 鍵顯示下一張圖像)。識(shí)別出的文本會(huì)在圖像上被標(biāo)記出來(lái)。這樣,您可以確定哪個(gè)預(yù)處理步驟最適合您。

通過(guò)Raspberry Pi攝像頭識(shí)別實(shí)時(shí)圖像中的文本

到目前為止,我們僅使用靜態(tài)圖像作為文本識(shí)別的輸入?,F(xiàn)在,我們還希望在連接的攝像頭的實(shí)時(shí)流中識(shí)別文本。這只需要對(duì)我們之前的腳本進(jìn)行一些小的更改。我們創(chuàng)建一個(gè)新文件:

sudo nano ocr_camera.py

文件內(nèi)容如下:

import cv2import pytesseractfrom pytesseract import Output cap = cv2.VideoCapture(0)cap.set(cv2.CAP_PROP_BUFFERSIZE, 1) while True: # Capture frame-by-frame ret, frame = cap.read() d = pytesseract.image_to_data(frame, output_type=Output.DICT) n_boxes = len(d['text']) for i in range(n_boxes): if int(d['conf'][i]) > 60: (text, x, y, w, h) = (d['text'][i], d['left'][i], d['top'][i], d['width'][i], d['height'][i]) # don't show empty text if text and text.strip() != "": frame = cv2.rectangle(frame, (x, y), (x + w, y + h), (0, 255, 0), 2) frame = cv2.putText(frame, text, (x, y - 10), cv2.FONT_HERSHEY_SIMPLEX, 1.0, (0, 0, 255), 3) # Display the resulting frame cv2.imshow('frame', frame) if cv2.waitKey(1) & 0xFF == ord('q'): break # When everything done, release the capturecap.release()cv2.destroyAllWindows()

我們現(xiàn)在的改動(dòng)如下:

在第5-6行,我們定義了相機(jī),而不是固定的圖像。相機(jī)必須被連接并被識(shí)別。

在第10行,我們讀取了當(dāng)前的幀。

這里我們省略了預(yù)處理步驟,但這些步驟也很容易被插入(在第11行)。

最后但同樣重要的是,我們也運(yùn)行了腳本:

python3 ocr_camera.py

現(xiàn)在將相機(jī)對(duì)準(zhǔn)文本,觀察文本上的單詞是如何被識(shí)別的:

在我的示例中,你可以清楚地看到轉(zhuǎn)換為灰度圖像是有意義的,因?yàn)閱卧~“Tutorials”太亮了。

其他語(yǔ)言的文本識(shí)別

Tesseract默認(rèn)只安裝了英語(yǔ)作為識(shí)別語(yǔ)言。我們可以用以下命令檢查:

tesseract --list-langs

如果你想添加更多應(yīng)該識(shí)別文本的語(yǔ)言,可以這樣做:

sudo apt-get install tesseract-ocr-[lang]

將[lang]替換為語(yǔ)言的縮寫(xiě)(all表示安裝所有現(xiàn)有的語(yǔ)言)。

https://askubuntu.com/questions/793634/how-do-i-install-a-new-language-pack-for-tesseract-on-16-04/798492#798492然后你可以在Python腳本中選擇語(yǔ)言。添加參數(shù):

d = pytesseract.image_to_data(img, lang='eng')

結(jié)論

Tesseract是一個(gè)強(qiáng)大的工具,它為圖像或幀提供了開(kāi)箱即用的文本識(shí)別功能。這意味著我們不需要訓(xùn)練和創(chuàng)建自己的機(jī)器學(xué)習(xí)模型。盡管計(jì)算量相對(duì)較大,但Raspberry Pi的文本識(shí)別效果非常好。通過(guò)各種處理步驟,可以進(jìn)一步改進(jìn)結(jié)果。
順便提一下,你可以在Github倉(cāng)庫(kù)中找到這兩個(gè)腳本。


聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 文本
    +關(guān)注

    關(guān)注

    0

    文章

    119

    瀏覽量

    17735
  • Raspberry Pi
    +關(guān)注

    關(guān)注

    2

    文章

    621

    瀏覽量

    23836
  • 樹(shù)莓派
    +關(guān)注

    關(guān)注

    122

    文章

    2069

    瀏覽量

    109556
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    樹(shù)莓做人臉識(shí)別

    基于云服務(wù)平臺(tái)的人臉識(shí)別1、設(shè)備樹(shù)莓2、USB攝像頭。2、要求l使用USB攝像頭抓拍(可以使用各種開(kāi)源軟件,也可以自己編程)臉部照片;l使用人臉識(shí)別的云服務(wù)平臺(tái)(可選擇FACECOR
    發(fā)表于 08-07 23:19

    在Windows、OSX和樹(shù)莓下編輯樹(shù)莓config

    :關(guān)閉樹(shù)莓,拔掉電源和SD卡SD卡插入MAC機(jī)的SD卡卡槽,在Finder中打開(kāi)SD卡查找名為config的文件 (有可能是config.txt)如果文件存在,用TextEdit打開(kāi)。如果找不到,用
    發(fā)表于 01-11 17:56

    樹(shù)莓語(yǔ)音識(shí)別機(jī)器人(下)

    `樹(shù)莓語(yǔ)音識(shí)別機(jī)器人(上)第四步:聲卡盡管有音頻輸出口可以連接音箱或耳機(jī),但為了獲得更好的音質(zhì),我們將外置聲卡材料:1. 樹(shù)莓2. US
    發(fā)表于 01-20 10:59

    樹(shù)莓怎么打造開(kāi)心農(nóng)場(chǎng)

    /ACCESSORIES_RPI_4.html]其它更多有趣的專(zhuān)案:DIY相機(jī)樹(shù)莓做的報(bào)警器跟拍的小車(chē)家庭媒體中心云監(jiān)控DIY街頭游戲機(jī)人臉識(shí)別云相冊(cè)樹(shù)莓
    發(fā)表于 02-22 15:14

    樹(shù)莓是什么樹(shù)莓的簡(jiǎn)單介紹

    要想玩轉(zhuǎn)樹(shù)莓,首先得知道樹(shù)莓是什么。在本節(jié)中,作者將帶領(lǐng)大家揭開(kāi)樹(shù)莓的神秘面紗,了解
    發(fā)表于 05-15 18:09 ?31次下載
    <b class='flag-5'>樹(shù)莓</b><b class='flag-5'>派</b>是什么<b class='flag-5'>樹(shù)莓</b><b class='flag-5'>派</b>的簡(jiǎn)單介紹

    海南電網(wǎng)將致力海南打造成國(guó)內(nèi)首個(gè)智能電網(wǎng)示范省

    “海南電網(wǎng)將在省委、省政府和南方電網(wǎng)指導(dǎo)下,緊緊圍繞生態(tài)立省、綠色崛起、國(guó)際旅游島建設(shè)主線,按照‘超前謀劃、需求驅(qū)動(dòng)、遠(yuǎn)近結(jié)合’的原則,努力海南打造成國(guó)內(nèi)首個(gè)省域智能電網(wǎng)示范省?!蹦戏诫娋W(wǎng)海南電網(wǎng)公司董事長(zhǎng)鄧恩宏對(duì)此表示。
    發(fā)表于 05-29 15:07 ?3029次閱讀

    樹(shù)莓的學(xué)習(xí)設(shè)計(jì)方案合集

    手臂,MAX17043 鋰電池電量計(jì)樹(shù)莓驅(qū)動(dòng)程序及教程等,Raspberry Pi打造的高清監(jiān)控?cái)z像機(jī)的DIY全過(guò)程共享,基于Arduino和樹(shù)莓
    發(fā)表于 03-11 08:00 ?12次下載
    <b class='flag-5'>樹(shù)莓</b><b class='flag-5'>派</b>的學(xué)習(xí)設(shè)計(jì)方案合集

    TensorFlow手勢(shì)識(shí)別樹(shù)莓開(kāi)源

    電子發(fā)燒友網(wǎng)站提供《TensorFlow手勢(shì)識(shí)別樹(shù)莓開(kāi)源.zip》資料免費(fèi)下載
    發(fā)表于 11-09 09:27 ?1次下載
    TensorFlow手勢(shì)<b class='flag-5'>識(shí)別</b><b class='flag-5'>樹(shù)莓</b><b class='flag-5'>派</b>開(kāi)源

    驚了!這個(gè)“神器”讓樹(shù)莓秒變智能管家,圖像識(shí)別+無(wú)線投屏,太秀了!

    和BalenaCloud,讓樹(shù)莓實(shí)現(xiàn)從圖像識(shí)別到智能生活的華麗轉(zhuǎn)身!圖像分類(lèi)項(xiàng)目:用樹(shù)莓和BalenaOS實(shí)現(xiàn)智能
    的頭像 發(fā)表于 03-25 09:23 ?1290次閱讀
    驚了!這個(gè)“<b class='flag-5'>神器</b>”讓<b class='flag-5'>樹(shù)莓</b><b class='flag-5'>派</b>秒變智能管家,圖像<b class='flag-5'>識(shí)別</b>+無(wú)線投屏,太秀了!

    樹(shù)莓5終極開(kāi)發(fā)方案:VSCode Server避坑實(shí)戰(zhàn)指南

    導(dǎo)語(yǔ):你是否想過(guò)將信用卡大小的樹(shù)莓5打造成隨身攜帶的云端開(kāi)發(fā)神器?開(kāi)發(fā)者RaduZaharia歷經(jīng)反復(fù)試驗(yàn),終于突破性實(shí)現(xiàn)VSCodeServer在
    的頭像 發(fā)表于 03-25 16:39 ?1205次閱讀
    <b class='flag-5'>樹(shù)莓</b><b class='flag-5'>派</b>5終極開(kāi)發(fā)方案:VSCode Server避坑實(shí)戰(zhàn)指南

    車(chē)牌識(shí)別新花樣:樹(shù)莓打造智能車(chē)牌監(jiān)控系統(tǒng)!

    樹(shù)莓是創(chuàng)客們打造家庭安防系統(tǒng)的熱門(mén)之選,這得益于其具備運(yùn)用人工智能(AI)的能力。AI系統(tǒng)能識(shí)別潛在威脅,在此情境下,還能識(shí)別過(guò)往車(chē)輛的牌
    的頭像 發(fā)表于 04-26 09:03 ?486次閱讀
    車(chē)牌<b class='flag-5'>識(shí)別</b>新花樣:<b class='flag-5'>樹(shù)莓</b><b class='flag-5'>派</b><b class='flag-5'>打造</b>智能車(chē)牌監(jiān)控系統(tǒng)!

    樹(shù)莓 Zero 打造的智能漫游車(chē)!

    使用PXFMini和樹(shù)莓Zero打造您自己的自主漫游車(chē)。本項(xiàng)目所用組件硬件組件ErleRoboticsPXFmini×1樹(shù)莓Zero×1
    的頭像 發(fā)表于 05-13 16:39 ?853次閱讀
    用 <b class='flag-5'>樹(shù)莓</b><b class='flag-5'>派</b> Zero <b class='flag-5'>打造</b>的智能漫游車(chē)!

    樹(shù)莓分類(lèi)器:用樹(shù)莓識(shí)別不同型號(hào)的樹(shù)莓

    在本教程系列的第一部分中,您將學(xué)習(xí)如何使用樹(shù)莓AI攝像頭來(lái)檢測(cè)不同的樹(shù)莓型號(hào)。本系列由DavidPlowman創(chuàng)建,他是樹(shù)莓
    的頭像 發(fā)表于 06-13 16:39 ?967次閱讀
    <b class='flag-5'>樹(shù)莓</b><b class='flag-5'>派</b>分類(lèi)器:用<b class='flag-5'>樹(shù)莓</b><b class='flag-5'>派</b><b class='flag-5'>識(shí)別</b>不同型號(hào)的<b class='flag-5'>樹(shù)莓</b><b class='flag-5'>派</b>!

    如何使用樹(shù)莓與OpenCV實(shí)現(xiàn)面部和運(yùn)動(dòng)追蹤的云臺(tái)系統(tǒng)?

    使用樹(shù)莓和OpenCV實(shí)時(shí)掃描并存儲(chǔ)二維碼使用樹(shù)莓和OpenCV實(shí)現(xiàn)物體與動(dòng)物識(shí)別使用樹(shù)莓
    的頭像 發(fā)表于 08-14 17:45 ?933次閱讀
    如何使用<b class='flag-5'>樹(shù)莓</b><b class='flag-5'>派</b>與OpenCV實(shí)現(xiàn)面部和運(yùn)動(dòng)追蹤的云臺(tái)系統(tǒng)?

    零成本鋼鐵俠手套!樹(shù)莓+OpenCV 秒變手勢(shì)遙控器!

    使用樹(shù)莓和OpenCV實(shí)時(shí)掃描并存儲(chǔ)二維碼使用樹(shù)莓和OpenCV實(shí)現(xiàn)物體與動(dòng)物識(shí)別使用樹(shù)莓
    的頭像 發(fā)表于 08-16 16:16 ?862次閱讀
    零成本鋼鐵俠手套!<b class='flag-5'>樹(shù)莓</b><b class='flag-5'>派</b>+OpenCV 秒變手勢(shì)遙控器!