一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

基于深度學(xué)習(xí)OpenCV與python進行字符識別

 小白學(xué)視覺 2021-01-28

重磅干貨,第一時間送達

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

字符識別:

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

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

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

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

pip install pytesseract

OpenCV:

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

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

它極大地依賴于受過訓(xùn)練的數(shù)據(jù),并有助于識別圖像中存在的文本。開放式簡歷使算法丟失的準(zhǔn)確性變成一幅圖畫?;叶鹊燃壴谧址R別領(lǐng)域提供了有效的分類。因此,我們特此導(dǎo)入所有必要的軟件包,以使我們的模型可以正常使用。

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

pip install opencv-python

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

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

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

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

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

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

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

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

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

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

導(dǎo)入所有軟件包:
#import all the packagesimport cv2import numpy as npimport pytesseractfrom PIL import Image
使用軟件包安裝后,將其導(dǎo)入代碼。
聲明或初始化路徑:
tesseract是一種開源工具,可以從網(wǎng)上下載。下載后,請?zhí)峒捌渎窂剑缦滤尽?/span>
# 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)
· 讀取圖像
· 灰度圖像
· 進行膨脹和腐蝕以消除圖像中不需要的噪聲。
· 去除噪點后寫圖像。
· 應(yīng)用閾值以獲取唯一的黑白圖片。
· 寫入相同的圖像以進行進一步的識別過程。
· 使用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./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./wiki/Tesseract_(software)

交流群

    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    国产精品亚洲精品亚洲| 日韩中文字幕免费在线视频| 日本二区三区在线播放| 亚洲做性视频在线播放| 日韩中文字幕欧美亚洲| 91久久国产福利自产拍| 美女被后入福利在线观看| 日韩成人免费性生活视频| 色偷偷偷拍视频在线观看| 亚洲成人黄色一级大片| 人妻巨大乳一二三区麻豆| 久久精品伊人一区二区| 久久99精品日韩人妻| 欧美一区日韩二区亚洲三区| 偷自拍亚洲欧美一区二页| 亚洲一区二区精品免费视频| 亚洲一区二区三区三州| 日本欧美视频在线观看免费| 又大又长又粗又猛国产精品| 国产精品偷拍视频一区| 日本免费一区二区三女| 日韩蜜桃一区二区三区| 99国产精品国产精品九九 | 国产又爽又猛又粗又色对黄| 色婷婷激情五月天丁香| 国产麻豆一区二区三区在| 91欧美日韩精品在线| 国产爆操白丝美女在线观看| 亚洲精品国产第一区二区多人| 九九蜜桃视频香蕉视频| 日韩欧美综合在线播放| 很黄很污在线免费观看| 香蕉尹人视频在线精品| 中文字幕人妻av不卡| 亚洲国产另类久久精品| 亚洲精品偷拍视频免费观看| 午夜传媒视频免费在线观看| 亚洲一区二区三区av高清| 日本人妻的诱惑在线观看| 日木乱偷人妻中文字幕在线| 久久99精品日韩人妻|