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>

        Python OCR庫:自動化測試驗證碼識別神器!

        共 7495字,需瀏覽 15分鐘

         ·

        2023-09-01 12:37

        在接口自動化工作中,經(jīng)常需要處理文字識別的任務,而OCR(Optical Character Recognition,光學字符識別)庫能夠幫助我們將圖像中的文字提取出來。Python中有幾個常用的OCR庫,包括pyocr、pytesseractpython- tesseract、EasyOCR。本文將對它們進行比較,并提供一些示例代碼來演示它們在實際接口自動化工作中的應用。

        1、pyocr

        PyOCR是一個Python庫,提供了對多個OCR引擎的封裝。它可以方便地在Python中使用不同的OCR引擎進行文本識別。

        PyOCR支持以下OCR引擎:

        • Tesseract:Tesseract是一個開源的OCR引擎,由Google開發(fā)。它支持多種語言,并且在OCR準確性方面表現(xiàn)良好。
        • Cuneiform:Cuneiform是一個開源的OCR引擎,支持多種語言和字體。
        • GOCR:GOCR是一個開源的OCR引擎,主要用于識別簡單的文本和數(shù)字。

        適用場景:

        • 文字識別和提取:用于將印刷體文字從圖像中提取出來,以便進行文本處理、搜索和分析。
        • 文檔掃描和轉換:用于將掃描的紙質文檔轉換為可編輯的電子文檔。
        • 自動化數(shù)據(jù)錄入:用于將圖像中的數(shù)據(jù)轉換為計算機可讀的格式,以便進行數(shù)據(jù)處理和分析。
        • 圖像標注和分類:用于從圖像中提取文本信息,以便對圖像進行標注和分類。

        使用PyOCR進行文本識別的步驟如下:

        • 安裝PyOCR庫和相應的OCR引擎:pip install pyocr
        • 導入PyOCR庫和所需的OCR引擎。
        • 初始化OCR引擎。
        • 打開圖像文件或者將圖像轉換為PIL圖像對象。
        • 使用OCR引擎的image_to_string方法進行文本識別。

        示例:以下是一個使用Tesseract庫進行文字識別的示例:

        import pyocr
        import pyocr.builders
        from PIL import Image

        # 初始化OCR引擎
        tools = pyocr.get_available_tools()
        if len(tools) == 0:
            print("No OCR tool found")
            exit(1)
        ocr_tool = tools[0]

        # 打開圖像文件
        image = Image.open('image.jpg')

        # 使用OCR引擎進行文本識別
        text = ocr_tool.image_to_string(
            image,
            lang='eng',
            builder=pyocr.builders.TextBuilder()
        )

        # 打印識別結果
        print(text)

        在這個示例中,首先使用pyocr.get_available_tools()獲取可用的OCR引擎列表,然后選擇第一個可用的引擎進行初始化。接著使用PIL庫打開圖像文件,然后使用OCR引擎的image_to_string方法進行文本識別,同時指定識別語言和文本構建器。最后打印識別結果。

        2、pytesseract

        pytesseract是一個Python庫,它提供了對Tesseract OCR引擎的封裝。Tesseract是一個開源的OCR引擎,由Google開發(fā)。pytesseract可以方便地在Python中使用Tesseract進行文本識別。

        pytesseract具有以下特點:

        • 支持多種語言:pytesseract可以識別多種語言的文字,包括英語、中文、日語等。
        • 支持多種圖像格式:pytesseract可以處理多種常見的圖像格式,如JPEG、PNG、TIFF等。
        • 簡單易用:pytesseract提供了一個簡單的API,只需幾行代碼即可完成文本識別。

        使用pytesseract進行文本識別的步驟如下:

        1. 安裝pytesseract庫和Tesseract OCR引擎。
        2. 導入pytesseract庫。
        3. 打開圖像文件或者將圖像轉換為PIL圖像對象。
        4. 使用pytesseract庫的image_to_string方法進行文本識別。

        以下是一個使用pytesseract進行文本識別的示例:

        import pytesseract
        from PIL import Image

        # 打開圖像文件
        image = Image.open('image.jpg')

        # 使用pytesseract進行文本識別
        text = pytesseract.image_to_string(image)

        # 打印識別結果
        print(text)

        在這個示例中,首先使用PIL庫打開圖像文件,然后使用pytesseract庫的image_to_string方法將圖像中的文字識別為文本,最后打印識別結果。

        需要注意的是,使用pytesseract進行文本識別前,需要確保已經(jīng)正確安裝了Tesseract OCR引擎,并將其配置為系統(tǒng)環(huán)境變量之一。這樣pytesseract才能找到并使用Tesseract引擎進行識別。

        3、python-tesseract

        python-tesseract是一個Python庫,它提供了對Tesseract OCR引擎的封裝。Tesseract是一個開源的OCR引擎,由Google開發(fā)。python-tesseract庫可以方便地在Python中使用Tesseract進行文本識別。

        python-tesseract具有以下特點:

        • 支持多種語言:python-tesseract可以識別多種語言的文字,包括英語、中文、日語等。
        • 支持多種圖像格式:python-tesseract可以處理多種常見的圖像格式,如JPEG、PNG、TIFF等。
        • 簡單易用:python-tesseract提供了一個簡單的API,只需幾行代碼即可完成文本識別。

        使用python-tesseract進行文本識別的步驟如下:

        1. 安裝python-tesseract庫和Tesseract OCR引擎。
        2. 導入python-tesseract庫。
        3. 打開圖像文件或者將圖像轉換為PIL圖像對象。
        4. 使用python-tesseract庫的image_to_string方法進行文本識別。

        以下是一個使用python-tesseract進行文本識別的示例:

        import pytesseract
        from PIL import Image

        # 打開圖像文件
        image = Image.open('image.jpg')

        # 使用python-tesseract進行文本識別
        text = pytesseract.image_to_string(image)

        # 打印識別結果
        print(text)

        在這個示例中,首先使用PIL庫打開圖像文件,然后使用python-tesseract庫的image_to_string方法將圖像中的文字識別為文本,最后打印識別結果。

        需要注意的是,使用python-tesseract進行文本識別前,需要確保已經(jīng)正確安裝了Tesseract OCR引擎,并將其配置為系統(tǒng)環(huán)境變量之一。這樣python-tesseract才能找到并使用Tesseract引擎進行識別。

        以下是一個更為復雜的例子,展示了如何使用python-tesseract進行文本識別,并對識別結果進行一些后處理:

        import pytesseract
        from PIL import Image
        import re

        # 打開圖像文件
        image = Image.open('image.jpg')

        # 使用python-tesseract進行文本識別
        text = pytesseract.image_to_string(image)

        # 去除識別結果中的非法字符
        cleaned_text = re.sub(r'[^a-zA-Z0-9\s]''', text)

        # 將識別結果按行分割成列表
        lines = cleaned_text.split('\n')

        # 去除空行
        lines = [line.strip() for line in lines if line.strip()]

        # 打印識別結果
        for line in lines:
            print(line)

        在這個例子中,我們首先使用PIL庫打開圖像文件,然后使用python-tesseract庫的image_to_string方法將圖像中的文字識別為文本。接下來,我們使用正則表達式去除識別結果中的非法字符,只保留字母、數(shù)字和空格。然后,我們將識別結果按行分割成列表,并去除空行。最后,我們逐行打印識別結果。

        這個例子展示了如何對識別結果進行一些后處理操作,以獲得更干凈和可讀性更高的文本。根據(jù)實際需求,你可以根據(jù)需要進行更多的后處理操作,如去除特定的字符、提取關鍵信息等。

        4、EasyOCR

        EasyOCR是一個功能強大且開源、易于使用的OCR庫,適用于各種文字識別任務,包括文檔掃描、圖像處理、自然語言處理等。它可以幫助開發(fā)者快速實現(xiàn)文字識別功能,并應用于各種應用領域。與其他OCR庫相比,EasyOCR具有以下特點:

        1. 多語言支持:EasyOCR支持超過80種語言的文字識別,包括中文、英文、日文、韓文等。它可以處理多種語言混合的文本,適用于全球范圍的應用。

        2. 高精度識別:EasyOCR使用了深度學習模型和先進的OCR技術,能夠提供高精度的文字識別結果。它在多個公開數(shù)據(jù)集上進行了訓練和測試,具有較高的準確率和魯棒性。

        3. 簡單易用:EasyOCR提供了一個簡單的API,使得文字識別變得容易。只需幾行代碼,即可將圖像中的文字轉換為可用的文本。

        4. 跨平臺支持:EasyOCR可以在多個平臺上運行,包括Windows、Linux和Mac OS。它支持Python和命令行界面,可以與其他編程語言和工具集成。

        使用EasyOCR進行文字識別的步驟如下:

        1. 安裝EasyOCR庫:可以使用pip命令安裝EasyOCR庫,例如pip install easyocr

        2. 導入EasyOCR庫:在Python代碼中導入EasyOCR庫,例如import easyocr。

        3. 創(chuàng)建OCR對象:創(chuàng)建一個OCR對象,例如reader = easyocr.Reader(['en', 'zh']),指定要識別的語言。

        4. 識別文字:使用OCR對象的readtext方法對圖像中的文字進行識別,例如result = reader.readtext('image.jpg')

        5. 處理識別結果:根據(jù)需要處理識別結果,例如提取文字內(nèi)容、位置和置信度等。

        以下是一個使用EasyOCR進行文字識別的簡單示例:

        import easyocr

        # 創(chuàng)建OCR對象
        reader = easyocr.Reader(['en''zh'])

        # 識別文字
        result = reader.readtext('image.jpg')

        # 處理識別結果
        for (text, bbox, confidence) in result:
            print(f'Text: {text}, Bbox: {bbox}, Confidence: {confidence}')

        在這個示例中,我們首先創(chuàng)建了一個OCR對象,指定了要識別的語言為英文和中文。然后,我們使用OCR對象的readtext方法對圖像文件進行文字識別,返回一個包含識別結果的列表。最后,我們遍歷識別結果,打印每個文字的內(nèi)容、位置和置信度。

        5、小結

        本文介紹了Python中幾個常用的OCR庫,并提供了相應的代碼示例。這些庫都可以幫助我們在接口自動化工作中進行文字識別,從而實現(xiàn)更多的自動化功能和任務。根據(jù)實際需求,您可以選擇適合自己的OCR庫,并結合其他工具和技術來完成更復雜的接口自動化工作。


        推薦閱讀:

        1. 重磅消息 | 2023年最新全棧測試開發(fā)技能實戰(zhàn)指南V2.0(第4期)

        2. 史上最全測試開發(fā)工具推薦(含自動化、APP性能、穩(wěn)定性、抓包神器)

        3. 2022年最全的軟件測試工程師發(fā)展知識體系圖譜!

        END

        所有原創(chuàng)文章
        第一時間發(fā)布至此公眾號「測試開發(fā)技術」

        長按二維碼/微信掃碼  添加作者

        瀏覽 1956
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
        評論
        圖片
        表情
        推薦
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
        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>
            亚洲美女喷水视频| 国产亲子乱XXXXinin| 91热在线| 国产资源av| 日韩AV免费| 春色Av| 91久久性奴调教| 中日韩黄色视频| 国产成人中文字幕| 亚洲欧美成人网站| 亚洲无码在线免费| 日韩欧美在线免费观看| 五月婷婷在线观看| av字幕网| 网站av| 久久无码专区| 婷婷五月开心五月| 日韩欧美二区| 国产激情网| 久久久五月天| 成人国产精品免费观看| 无码九九九| 影音先锋av在线资源| 午夜AV在线观看| 午夜AV影院| 99热这里都是精品| 国产麻豆精品ThePorn| 十八无码成人免费网站| 免费成人一级片| 亚洲欧美国产日韩字幕| 欧美性爱自拍| 三级片在线观看网站| 欧美日韩无| 色情一级AA片免费观看| 亚洲熟女一区| 亚洲AV免费| 广西少妇BBwBBwBBw| 丰滿人妻一区二区三| 9999国产精品| 国产成人无码一区二区在线| 亚洲精品视频在线观看网站| 激情二区| 国产视频在线免费观看| 日韩毛片网| 国产高清在线| av电影在线免费观看| 成人激情免费视频| 日韩欧美一| 99视频免费在线观看| 欧美在线va| 日韩综合在线观看| 欧美l∨视| 法国《少女日记》电影| 又爽又黄免费网站97双女| 精品国产A片| 国产一区二区视频在线观看| 无码秘蜜桃一区二区| 蜜桃性视频| 国产精品成人无码专区| 午夜激情视频在线观看| 三上悠亚一区二区| 丁香啪啪| 亚洲国产精品久久人人爱| 激情麻豆论坛| 你懂得在线视频| 久久99久久99精品免视看婷婷| 99热这里有精品| 影音先锋91| 蜜臀精品一区二区三区| 91精品人妻一区二区三区蜜桃| 欧美后门菊门交4| 激情婷婷综合| 久久久性爱视频| 夜夜撸天天日| 九九热re99re6在线精品| 91久色| 国产成人V在线精品一区| 一级a看片在线观看| 国产av黄色| 亚洲一区日韩| 久草资源在线观看| 丁香久久| 91大屁股| 一区二区视频在线| 日韩人妻无码一区二区三区中文 | 大鷄巴成人A片视频| 日韩黄色小说| 天堂成人av| 午夜褔利| 婷婷开心色四房播播在线| 日韩欧美小电影| 操逼视频免费在线观看| 日韩在线观看视频免费| 国产乱码一区二区三区的区别| 久久影音先锋| A级片免费看| 黄色三级在线| 美女插插| AV2014天堂网| 男女日逼| 日本AⅤ电影| A片视频网站| 日本免费在线黄色视频| 日韩综合另类| 亚洲AV无码日韩AV无码导航| 亚洲中文字幕视频在线| 人妻精品一区二区三区| 午夜精品18视频国产| 午夜成人福利片| 国产又爽又黄视频| 成人无码日韩精品| 国产777| 日韩成人免费观看| 在线观看黄色片| 色五月网站| 蜜桃av秘无码一区二区| 欧美成人69| 日本色色色| 成人一级黄色电影| 亚洲视频中文| 欧美老妇BBBBBBBBB| 日本欧美视频| 亚洲成人性爱在线| 囯产精品久久久久久久久| 亚洲无码手机在线| 无码AV电影| 国产无码乱伦内射| 女人AV天堂| 大香蕉尹人在线视频| 蜜桃BBwBBWBBwBBw| 色婷婷俺来也| 人妻少妇一区二区三区| 少妇搡BBBB搡BBB搡造水多, | 日韩人妻av| 五月激情婷婷基地| 亚洲免费观看高清完整版在线| 性爱视频91| 国产成人a亚洲精品| 一级片三级片| 三级免费| 久久久无码人妻精品无码| 亚洲小黄片| 中日韩中文字幕一区二区区别| 水蜜桃视频免费观看| 大香蕉九九| 91免费小视频| 嫩草嫩草69| 日韩综合在线| 免费无码婬片AAAA片老婦| 98在线++传媒麻豆的视频| 精品孕妇孕交无码专区| 嫩BBB槡BBBB槡BBB小号| 国产成人无码一区二区| 熟女视频网| 玉米地一级婬片A片| 污网站18禁| 日韩字幕久久| 亚洲日韩免费观看| 中文字幕H| 日韩久久网| 亚洲色图网站| A区性愛社区| 日韩午夜AV| 88av在线播放| 日韩A片一级无码免费蜜桃| 日韩欧美成人网站| 91九色精品女同系列| 亚洲精品无码久久| 欧美中文字幕视频| 日韩TV| 自拍三级片| 成人你懂的| 欧美日韩视频在线| 狠狠综合网| 超碰免费视| 国产精品秘久久久久久免费播放 | 亚洲成人福利电影| 91成人视频18| 日韩爆乳在线| 大香蕉在线视频75| 四虎精品影院| 在线观看操逼视频| 成人无码99| 国产性爱在线| 91吴梦梦一区二区传媒| 国产午夜三级| 九一精品| 国产啊啊啊啊| 天堂v视频| 99久久免费网| 国产三级片在线免费观看| аⅴ资源新版在线天堂| 国产做受精品网站在线观看| 蜜臀导航| 蜜桃AV无码一区二区三区| 99久久精彩视频| 操逼免费| 另类老妇奶BBBBwBB| 神马午夜三级| 中文字幕黑人无码| 自拍偷拍无码| 二区三区免费视频| 天天做天天日| S28AV| 特极西西444WWW大胆无码| 要操逼网| 无码高清视频在线观看| 久久久久久久久久国产精品免费观看-百度 | 一级片麻豆| 91视频一区| 免费操B视频| 综合网插菊花| 亚洲高清视频一区| 亚洲操逼网站| 国精产品一二四区黑人| 熟女人妻一区二区| 国产wwwww| 自慰喷水流白浆中文字幕| 亚洲成人日韩| 久久婷婷激情| 日韩一区二区三区无码电影| 人妻精品一区二区在线| 一区二区AV| 青青草国产亚洲精品久久| 国产美女AV| h成人在线| 天堂vs亚洲| 黄色免费网站| 国产免费AV在线| 麻豆传媒电影| 在线观看视频你懂的| 精品人人人人| 日韩无码砖区| 国产成人精品AV在线观| 亚洲高清AV| 久色精品| 国产一级a一片成人AV| 欧美色图在线观看视频| 中文无码日本高潮喷水| 激情99| 欧洲一级片| 国产亚洲激情| 影音先锋色先锋| 91九色TS另类国产人妖| 青娱乐亚洲视频在线| 青青草综合| 日韩中文字幕| 日韩AV在线电影| 亚洲av高清无码| 一区二区三区视频在线| 三级片亚洲| 男女av免费观看| 夜夜骑婷婷91| 国产黄色视频在线| 亚洲国产无码在线观看| 日韩三级一区二区| 亚洲免费一级片| 色五婷婷| 亚州毛多色色精品| 蜜桃人妻无码AV天堂二区| 亚洲无码视频一区二区| 天天操天天干天天日| 国产AV无码影院| 婷婷精品免费久久| 无码国产精品一区二区免费96| 国产一级免费观看| 中文字幕A片| 国产jk在线观看| 天天插天天爽| 天天干天天日| 翔田千里AV在线| 俺来了俺去了www色官网| 黄色国产网站| 最近2021中文字幕免费| 成人AV婷婷| 91精品视频网| 中文字幕在线精品| 欧美日韩操逼片| 精品久久免费视频| 第四色大香蕉| 国产精品无码毛片| 欧美AAA片| 久久99深爱久久99精品| 亚洲女人天堂AV| 国产黄色免费电影| 欧美亚洲视频| 国产免费啪啪视频| 少妇搡BBBB搡BBB搡造水多| av黄色| 996热re视频精品视频| 91蝌蚪视频在线观看| 亚洲无码在线播放| 91无码影院| 怡春院在线| 色综合网址| 亚洲精品中文字幕成人片| 一本色道久久加勒比精品| 国产婬片一级A片AAA毛片AⅤ| 爽妇综合网| 大香蕉久久久|