1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

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

        共 2947字,需瀏覽 6分鐘

         ·

        2020-09-18 05:02

        點(diǎn)擊上方小白學(xué)視覺(jué)”,選擇加"星標(biāo)"或“置頂

        重磅干貨,第一時(shí)間送達(dá)

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

        字符識(shí)別:

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

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

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

        對(duì)于運(yùn)行模型的必須安裝由Google作為光學(xué)字符識(shí)別引擎開(kāi)發(fā)的tesseract。

        pip install pytesseract

        OpenCV:

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

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

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

        為了在您的本地計(jì)算機(jī)上安裝OpenCV,請(qǐng)使用以下命令...

        pip install opencv-python

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

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

        ??圖像中的噪聲會(huì)導(dǎo)致許多錯(cuò)誤識(shí)別字符的因素。為了確保無(wú)噪音,我們?cè)诖a中消除了識(shí)別。

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

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

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

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

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

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

        使用OpenCV識(shí)別字符的Python代碼:

        導(dǎo)入所有軟件包:
        #import all the packagesimport cv2import numpy as npimport pytesseractfrom PIL import Image
        使用軟件包安裝后,將其導(dǎo)入代碼。
        聲明或初始化路徑:
        tesseract是一種開(kāi)源工具,可以從網(wǎng)上下載。下載后,請(qǐ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'
        主要方法:
        在這部分代碼中,我們正在實(shí)現(xiàn)
        ??讀取圖像
        ??灰度圖像
        ??進(jìn)行膨脹和腐蝕以消除圖像中不需要的噪聲。
        ??去除噪點(diǎn)后寫(xiě)圖像。
        ??應(yīng)用閾值以獲取唯一的黑白圖片。
        ??寫(xiě)入相同的圖像以進(jìn)行進(jìn)一步的識(shí)別過(guò)程。
        ??使用Tesseract進(jìn)行字符識(shí)別。
        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)上獲取樣本識(shí)別

        輸出:

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

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

        參考文獻(xiàn):

        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)


        交流群


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


        瀏覽 53
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        評(píng)論
        圖片
        表情
        推薦
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            无码卡一卡二 | 新疆女人A片在线观看 | 4438 全国成人免费 | 瑟瑟网站| 就要爱综合 | 大鸡巴操小骚逼 | xxxxwwww日本免费 | 亚欧视频在线 | 师太被肉到失禁超h | 5g影院天天爽入口入口 |