• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于Python語言的圖文識別方法研究

    2019-08-07 06:01:14史記征
    關(guān)鍵詞:字符識別圖文正確率

    ◆史記征 崔 俊

    (重慶安全技術(shù)職業(yè)學(xué)院 重慶 404020)

    將圖片翻譯成文字一般被稱為光學(xué)字符識別,其英文拼寫為Optical Character Recognition,簡稱OCR。光學(xué)字符識別的處理對象是通過拍照或者掃描獲得的圖片文本資料,并對圖像文件進(jìn)行分析提取,從而獲得圖片上的文字信息的過程。OCR的應(yīng)用多在打印、平面廣告、印刷等行業(yè),用來快速將圖片或紙質(zhì)資料轉(zhuǎn)換為可供編輯的文本資料,技術(shù)性較強,對從業(yè)人員要求較高。在國內(nèi),對中文OCR研究水平較高的企業(yè)有漢王、清華文通、尚書,他們的產(chǎn)品各具特色,價格昂貴。國外對OCR的研究較早,IBM、惠普、微軟等一些大型智能產(chǎn)品公司,雖然沒有生產(chǎn)自己的OCR產(chǎn)品,但他們的技術(shù)人員早已掌握OCR核心原理,并在自己的軟件系統(tǒng)中嵌入了OCR功能。對于一般的程序設(shè)計者,并不需要完整的OCR功能,主要在開發(fā)中能夠集成基本的OCR功能就可以了。利用Python語言第三方庫,通過少量代碼,即可實現(xiàn)圖文識別,將給工作、生活、學(xué)習(xí)帶來極大便利。

    1 Python語言圖文識別背景

    1.1 Python語言的特點

    吉多·范羅蘇姆( Guido Van Rossum)作為Python語言的設(shè)計發(fā)明者,于1990年發(fā)布了Python的第一個版本。作為一種計算機(jī)高級程序設(shè)計語言,Python具有如下特點:

    (1)易于學(xué)習(xí)

    Python的編程思維簡單,注重邏輯、輕于語法,庫資源豐富。Python的程序流程清晰、控制簡單,保留字較少、易于理解。

    (2)易于閱讀

    Python代碼定義得非常清晰,它沒有使用其他語言通常用來訪問變量、定義代碼塊和進(jìn)行模式匹配的命令式符號,而是采用強制縮進(jìn)的編碼方式,去除了“{}”等語法符號,從而看起來十分規(guī)范和優(yōu)雅,具有極佳的可讀性。

    (3)免費、開源

    Python是FLOSS (自由/開放源碼軟件)之一。使用Python是免費的,開發(fā)者可以自由地發(fā)布這個軟件的副本,閱讀源代碼,甚至對它做改動。

    (4)高級語言

    使用 Python語言編程時,無須考慮諸如管理程序內(nèi)存等底層的細(xì)節(jié),只需集中精力關(guān)注程序的主要邏輯即可。

    (5)可移植性

    由于Python語言具有開源的特點,Python代碼的移植非常方便,可以在各種不同的操作系統(tǒng)上運行,應(yīng)用十分廣泛。在計算機(jī)的各個領(lǐng)域,Python都取得了一席之地,成長持續(xù)迅速。因為Python是用C語言開發(fā)的,正是由于C語言具有極強的可移植性,使得在任何帶有 ANSI C編譯器的平臺上也可以運行Python代碼。

    (6)面向?qū)ο?/p>

    Python不但支持面向?qū)ο缶幊?,也支持面向過程編程。在“面向?qū)ο蟆钡木幊陶Z言中,程序代碼是由數(shù)據(jù)和功能組合而成的對象構(gòu)建起來的。與其他的面向?qū)ο笳Z言不同,Python以極其簡單而又非常強大編碼風(fēng)格實現(xiàn)了面向?qū)ο缶幊獭T凇懊嫦蜻^程”的語言中,程序是由過程或僅僅是可重用代碼的函數(shù)構(gòu)建起來的。

    (7)解釋性

    Python作為一種解釋型編程語言,在開發(fā)過程中不存在編譯環(huán)節(jié)。通常情況下,由于程序運行不依賴于本地機(jī)器碼,純粹的解釋型語言通常比編譯型語言運行得慢。然而,與 Java語言類似,Python本質(zhì)上是字節(jié)編譯的,其結(jié)果就是可以生成一種近似于機(jī)器語言的中間形式。這不僅改善了Python的性能,同時使它保持了解釋型語言的優(yōu)點。

    (8)可擴(kuò)展可嵌入性

    在Python中,部分程序可以使用其他語言編寫,如C/C++。同時,Python還可以嵌入到C/C++程序中,為它們提供腳本功能。

    1.2 Python語言版本

    Python發(fā)展至今,經(jīng)歷了多個版本的更迭,目前仍然保留的版本主要是基于Python2.X和Python3.X。Python3.X 是未來的趨勢,有許多重要的類庫都已經(jīng)停止對Python2.X的更新,只保留對Python3.X的更新。

    1.3 圖文識別API

    Python進(jìn)行圖文識別主要使用 pytesseract庫和 pillow庫。PyTesser是 Python的光學(xué)字符識別模塊,它將圖像或圖像文件作為輸入并輸出一個字符串。PyTesser使用Tesseract OCR引擎,將圖像轉(zhuǎn)換為可接受的格式,并將 Tesseract可執(zhí)行文件作為外部腳本調(diào)用。PIL(Python Imaging Library)是Python平臺上的圖像處理標(biāo)準(zhǔn)庫,PIL功能非常強大,但其API卻非常簡單易用。由于PIL僅支持到Python 2.7,于是有編程愛好者在PIL的基礎(chǔ)上創(chuàng)建了兼容的版本,名字叫pillow,支持最新的Python 3.x。圖文識別需要安裝Tesseract OCR引擎,Tesseract的Windows安裝包下載地址為:http://digi.bib.uni-mannheim.de/tesseract/tesseractocr-setup-4.00.00dev.exe,下載后雙擊直接安裝即可。安裝完成后,需要將Tesseract添加到系統(tǒng)變量中。如識別中文漢字,需到https://github.com/tesseract-ocr/tessdata/find/master/chi_sim.traineddata下載chi_sim.traineddata文件,然后將chi_sim.traineddata文件放到Tesseract OCR引擎安裝目錄下的tessdata文件夾下。

    2 Python語言在圖文識別中的應(yīng)用

    2.1 第三方庫安裝

    Python第三方庫最常用的安裝方式是通過 pip命令。作為Python的內(nèi)置命令,pip需要通過命令行執(zhí)行。本文所需庫的安裝命令有兩條:pip install pillow、pip install pytesseract。

    2.2 圖文識別過程

    (1)在D盤根目錄下保存待識別的圖片文件,文件分別命名為“數(shù)字.png”、“英文.png”、“漢字.png”、“符號.png”,圖片文件內(nèi)容如圖1——圖4所示。

    (2)編寫Python代碼

    #文件名:ImageConvertText.py

    # -*- coding: utf-8 -*-

    from PIL import Image

    import pytesseract

    print("-------------------------------------")

    text=pytesseract.image_to_string(Image.open('D:XX.png'),lang='chi_sim')

    #XX代表D盤下待識別的圖片文件名

    #chi_sim是一個解析中文簡體的數(shù)據(jù)包,需自己下載

    print(text)

    print("-------------------------------------")

    圖1 數(shù)字

    圖2 英文

    圖3 符號

    圖4 漢字

    (3)圖文識別結(jié)果分析

    圖5 數(shù)字識別結(jié)果

    圖6 英文識別結(jié)果

    圖7 符號識別結(jié)果

    圖8 漢字識別結(jié)果

    從識別結(jié)果可以看出:Python庫對數(shù)字、英文單詞、漢字的識別正確率極高,能達(dá)到99%;但對常見符號的識別正確率較低。這和圖片上文字所使用的字體、圖片清晰度、圖片是否有污點、圖片中的文字是否排列整齊有關(guān)??梢酝ㄟ^機(jī)器學(xué)習(xí),對常見符號進(jìn)行識別訓(xùn)練,以提高識別正確率。

    3 結(jié)語

    由于Python語言擁有強大的第三方庫,利用Python庫進(jìn)行圖文識別,代碼量少、識別準(zhǔn)確率高,為圖片文字轉(zhuǎn)化為可編輯的文本提供了一種有效的途徑,將為人們獲取知識提供極大的便利。

    猜你喜歡
    字符識別圖文正確率
    畫與理
    門診分診服務(wù)態(tài)度與正確率對護(hù)患關(guān)系的影響
    一種改進(jìn)深度學(xué)習(xí)網(wǎng)絡(luò)結(jié)構(gòu)的英文字符識別
    生意
    品管圈活動在提高介入手術(shù)安全核查正確率中的應(yīng)用
    儀表字符識別中的圖像處理算法研究
    生意
    故事會(2016年15期)2016-08-23 13:48:41
    基于CUDA和深度置信網(wǎng)絡(luò)的手寫字符識別
    機(jī)加工件點陣字符識別研究
    河南科技(2014年3期)2014-02-27 14:05:36
    圖文配
    海外英語(2013年9期)2013-12-11 09:03:36
    涞水县| 北宁市| 郓城县| 海城市| 龙南县| 扎赉特旗| 高邑县| 三江| 黑河市| 瑞金市| 绩溪县| 诏安县| 云阳县| 会昌县| 尖扎县| 确山县| 汉川市| 融水| 白朗县| 通辽市| 拉萨市| 渭源县| 道孚县| 呼伦贝尔市| 嵊泗县| 梨树县| 西安市| 林州市| 逊克县| 丁青县| 焉耆| 沐川县| 宜兴市| 邻水| 沐川县| 全椒县| 台州市| 佛学| 子长县| 孝感市| 永胜县|