日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

opencv threshold_基于深度学习OpenCV与python进行字符识别

發(fā)布時間:2025/3/15 python 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 opencv threshold_基于深度学习OpenCV与python进行字符识别 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

點擊上方“小白學視覺”,選擇加"星標"或“置頂

重磅干貨,第一時間送達

當我們在處理圖像數(shù)據(jù)集時,總是會想有沒有什么辦法以簡單的文本格式檢索圖像中的這些字符呢?今天我們就一起看看有沒有什么簡單的辦法可以實現(xiàn)這一功能~對于字符識別,我們找到了一些在線工具可以使用,他們將獲取用戶的輸入并提供輸出信息。

字符識別:

字符識別程序有助于準確的從文本中識別出每個文本元素。

通過應用深度學習算法,可以準確的識別圖像中字符或文本元素的并對其進行分類。這些字符一般有很大區(qū)別。

當我們使用普通技術(shù)來識別字符時,可能會在特定點上出現(xiàn)一些錯誤。如果我們使用基于深度學習的OpenCV算法將給出有效的輸出。

對于運行模型的必須安裝由Google作為光學字符識別引擎開發(fā)的tesseract。

pip install pytesseract

OpenCV:

OpenCV是一種一項基本技術(shù),我們主要利用他來消除的噪聲以便進一步執(zhí)行數(shù)據(jù)操作。

Open CV是深度學習技術(shù)領(lǐng)域中使用最廣泛的算法。

它極大地依賴于受過訓練的數(shù)據(jù),并有助于識別圖像中存在的文本。開放式簡歷使算法丟失的準確性變成一幅圖畫。灰度等級在字符識別領(lǐng)域提供了有效的分類。因此,我們特此導入所有必要的軟件包,以使我們的模型可以正常使用。

為了在您的本地計算機上安裝OpenCV,請使用以下命令...

pip install opencv-python

圖像可以直接讀取到代碼中嗎?

??讓我們討論影響識別字符的因素:

??圖像中的噪聲會導致許多錯誤識別字符的因素。為了確保無噪音,我們在代碼中消除了識別。

??當圖像不是高分辨率時,識別將失敗。因此,為了獲得準確的結(jié)果,最好拍攝高分辨率的圖像。

??有時圖像的角度也會出現(xiàn)缺陷。

??在假定文本時,圖像的反射會導致錯誤。如此多的字母“ F”被識別為“ P”。

??如果代碼無法訓練字體,字體也會改變結(jié)果。

??各種圖像具有本領(lǐng)域的各種表示風格,因此,當存在更多膚色或多種顏色時,會對圖像中的識別文本做出不正確的假設。

考慮到以上所有因素,必須在所有測試用例通過的地方相應地構(gòu)建代碼。

使用OpenCV識別字符的Python代碼:

導入所有軟件包:#import all the packagesimport cv2import numpy as npimport pytesseractfrom PIL import Image使用軟件包安裝后,將其導入代碼。聲明或初始化路徑:tesseract是一種開源工具,可以從網(wǎng)上下載。下載后,請?zhí)峒捌渎窂?#xff0c;如下所示。# path of pytesseract execution folder pytesseract.pytesseract.tesseract_cmd = 'C:\Program Files\Tesseract-OCR\tesseract.exe'# Path of imagemain_path = r'qu12.png'主要方法:在這部分代碼中,我們正在實現(xiàn)??讀取圖像??灰度圖像??進行膨脹和腐蝕以消除圖像中不需要的噪聲。??去除噪點后寫圖像。??應用閾值以獲取唯一的黑白圖片。??寫入相同的圖像以進行進一步的識別過程。??使用Tesseract進行字符識別。def get_string(pic_path): # Reading picture with opencv pic = cv2.imread(pic_path)# grey-scale the picture pic = cv2.cvtColor(pic, cv2.COLOR_BGR2GRAY)# Do dilation and erosion to eliminate unwanted noises kernel = np.ones((1, 1), np.uint8) pic = cv2.dilate(pic, kernel, iterations=20) pic = cv2.erode(pic, kernel, iterations=20)# Write image after removed noise cv2.imwrite(main_path + "no_noise.png", pic)# threshold applying to get only black and white picture pic = cv2.adaptiveThreshold(pic, 300, cv2.ADAPTIVE_THRESH_GAUSSIAN_C, cv2.THRESH_BINARY, 31, 2)# Write the image for later recognition process cv2.imwrite(main_path + "threshold.png", pic)# Character recognition with tesseract final = pytesseract.image_to_string(Image.open(main_path + "threshold.png"))return final

顯示最終輸出:

print(get_string(src_path))

輸入和輸出:

在這里,我們給出輸入到代碼中的輸入和輸出,以便稍后執(zhí)行代碼。

輸入:

從互聯(lián)網(wǎng)上獲取樣本識別

輸出:

執(zhí)行代碼后的屏幕截圖

代碼鏈接:https?:?//github.com/eazyciphers/deep-learning-tutors

參考文獻:

https://www.researchgate.net/profile/Andrew_Agbemenu/publication/325223548_An_Automatic_Number_Plate_Recognition_System_using_OpenCV_and_Tesseract_OCR_Engine/links/5c87e7ea299bf14e7e781750/An-Automatic-Number-Plate-Recognition-System-using-OpenCV-and-Tesseract-OCR-Engine.pdf

?https://en.wikipedia.org/wiki/Tesseract_(software)

交流群

歡迎加入公眾號讀者群一起和同行交流,目前有SLAM、三維視覺、傳感器、自動駕駛、計算攝影、檢測、分割、識別、醫(yī)學影像、GAN、算法競賽等微信群(以后會逐漸細分),請掃描下面微信號加群,備注:”昵稱+學校/公司+研究方向“,例如:”張三?+?上海交大?+?視覺SLAM“。請按照格式備注,否則不予通過。添加成功后會根據(jù)研究方向邀請進入相關(guān)微信群。請勿在群內(nèi)發(fā)送廣告,否則會請出群,謝謝理解~

創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎

總結(jié)

以上是生活随笔為你收集整理的opencv threshold_基于深度学习OpenCV与python进行字符识别的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。