版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
摘要隨著時代的發(fā)展和計算機(jī)的普及,現(xiàn)在的資料、文獻(xiàn)、檔案和書籍都逐漸地變成了數(shù)字化的模式,但是在此之前,已有的紙質(zhì)資料、文獻(xiàn)、檔案和書籍的存量十分之多,以紙張作為載體來保存這些內(nèi)容的話存在不少的不方便和安全隱患。紙張是無法再生的,紙張一旦損毀了,上面所記錄的內(nèi)容也將會丟失,而且紙張不方便傳播,所以把紙質(zhì)資料轉(zhuǎn)化為電子化的形式是非常有必要的。光學(xué)字符識別(Optical?Character?Recognition,?OCR)是一種能把印刷在或者寫在紙上的內(nèi)容識別成字符并保存到計算中去的技術(shù),在文字錄入、書籍電子化這些領(lǐng)域起著至關(guān)重要的作用。在OCR進(jìn)行識別的時候,存在著一些影響識別成功率的因素,例如圖像文件的背景和所識別字符的字體等因素。本文將研究通過圖像文件的預(yù)處理和訓(xùn)練字庫來提升識別的成功率。本次課題所研究的內(nèi)容主要包括如下內(nèi)容:(1)開發(fā)一個基于Python的OCR工具。(2)通過把圖片進(jìn)行灰度化處理、二值化處理和降噪處理減少圖像內(nèi)背景和非字符的干擾,提高識別準(zhǔn)確率。(3)訓(xùn)練字庫,使得開發(fā)的OCR工具在提高識別的準(zhǔn)確率的同時還能夠識別除了一般的印刷字體外其他的字體和字符內(nèi)容。關(guān)鍵詞:OCR技術(shù);信息化;紙質(zhì)資料;文字錄入;灰度化處理;二值化處理AbstractWiththedevelopmentoftheeraandthepopularityofcomputers,data,literature,archivesandbooksarenowgraduallyturnedintodigitalforms.Butbeforethat,therehasbeenagreatnumberofpaperdata,literature,archivesandbooks.Therearemanyinconveniencesandsecurityrisksinusingpaperasthecarriertopreservethesecontents.Paperisnotregenerated.Oncethepaperisdamaged,thecontentsrecordedonitwillbelost,andthepaperisnotconvenientforspreading,soit’snecessarytoconvertpaperdataintoelectronicforms.OpticalCharacterRecognition(OCR)isatechnologythatcanrecognizetheprintedorwrittencontentintocharactersandsavethemtocalculation.Itplaysanimportantroleinthefieldsoftextinputandelectronicbooks.WhenOCRisusedforrecognition,therearesomefactorsaffectingthesuccessrateofrecognition,suchasthebackgroundofimagefileandthefontoftherecognizedcharacters.Thispaperfocusesontheimprovementofthesuccessrateofrecognitionbypreprocessingimagefileandtrainingfontlibrary.Theresearchcontentofthisprojectmainlyincludes:(1)DevelopingaPython-basedOCRtool.(2)Reducingsuchinterferencefactorsasthebackgroundandthefontoftherecognizedcharactersintheimagethroughgrayscaleprocessing,binarizationprocessingandnoisereductionprocessingtoimprovetheaccuracyofrecognition.(3)TrainingthefontlibrarytoimprovetheaccuracyofrecognitionandmakeitpossibleforthedevelopedOCRtooltorecognizedspecialfontsandcharactersinadditiontogeneralprintedfonts.Keywords:OCRtechnology;informatization;paperdata;textinput;grayscaleprocessing;binarization;binarizationprocessing目錄第一章緒論 第一章緒論隨著時代的不斷發(fā)展,科學(xué)技術(shù)的不斷進(jìn)步,計算機(jī)和網(wǎng)絡(luò)已經(jīng)走進(jìn)了千家萬戶,在人們的日常生活中起到了重要的作用,人類已經(jīng)進(jìn)入了信息化時代了。在信息化時代里,已經(jīng)有不少的書籍、檔案都已經(jīng)從紙質(zhì)載體中轉(zhuǎn)變成了數(shù)字化的模式,但仍有許多紙質(zhì)資料和文獻(xiàn)未能實(shí)現(xiàn)數(shù)字化,把它們由紙質(zhì)轉(zhuǎn)變?yōu)閿?shù)字化對文獻(xiàn)和資料的保存有著重要的意義,本文將分析識別圖片中文字技術(shù)的現(xiàn)狀和存在的問題,以及對本文的內(nèi)容安排進(jìn)行概述。1.1項(xiàng)目研究的背景及意義1.1.1圖片中文字的識別工具的研究背景 目前,大部分的檔案、資料和書籍都是以紙質(zhì)存檔的形式進(jìn)行保存,但是以紙張作為載體的形式存在很多的不足,紙質(zhì)檔案容易損壞,無法再生且不方便調(diào)用。隨著信息化技術(shù)的快速發(fā)展和計算機(jī)的普及,各種各樣信息都逐漸電子化,不少的紙質(zhì)檔案、資料和文獻(xiàn)也都轉(zhuǎn)變成電子化的形式進(jìn)行保存,但是由于紙質(zhì)文檔存在的數(shù)量眾多,且電子化錄入的工作量大,仍存在著許多的紙質(zhì)文檔未能實(shí)現(xiàn)電子化的保存。因此,能夠快速準(zhǔn)確地將文字信息錄入到計算機(jī)等各類電子設(shè)備之中便成為了紙質(zhì)文檔的錄入工作解決的關(guān)鍵。1.1.2圖片中文字的識別工具的研究意義把資料從紙質(zhì)轉(zhuǎn)化為電子化的過程中,需要把紙上所記錄的內(nèi)容錄入到計算機(jī)里面,但是由于現(xiàn)存的紙質(zhì)資料、文獻(xiàn)的數(shù)量眾多,以人工的方式進(jìn)行錄入的話,這樣不僅要花費(fèi)大量的人力和時間。OCR技術(shù)的英文全名稱為Optical?Character?Recognition,即為光學(xué)字符識別技術(shù),它是利用光學(xué)和計算機(jī)技術(shù)來識別印刷或?qū)懺诩埳系淖址⑺鼈冝D(zhuǎn)換成計算機(jī)可以接受和人們可以理解的格式,該技術(shù)可以大大減少紙質(zhì)文檔錄入的工作量,使得文檔從紙質(zhì)轉(zhuǎn)為電子化更加的快速和方便。在實(shí)現(xiàn)難度上,漢字字符的識別相對于英文字母的識別要更加困難,大部分的漢字的不僅筆畫較多且復(fù)雜還存在著形態(tài)相近的筆畫,形態(tài)也比英文字母要多。在1980年時,國家標(biāo)準(zhǔn)總局所發(fā)布的《信息交換用漢字編碼字符集》(GB2312-80)中,基本集共收入漢字6763個,其中在日常生活中出現(xiàn)頻率比較高的一級漢字3755個,出現(xiàn)頻率較低的二級漢字有3008個。漢字的數(shù)量和復(fù)雜度大大提升了識別難度。1.2國內(nèi)外研究現(xiàn)狀1.2.1國外研究現(xiàn)狀在60年代時,光學(xué)字符識別技術(shù)就已經(jīng)受到人們的關(guān)注,世界各國開始對該技術(shù)進(jìn)行研究了,在研究剛開始的階段,主要的研究內(nèi)容是OCR技術(shù)識別的方法,識別的對象也只是簡單的數(shù)字。OCR的技術(shù)發(fā)展可以分為三個階段,第一階段為60年代初,第一階段的OCR產(chǎn)品只能識別指定字體的數(shù)字、英文字母及部分符號;第二階段是60年代中期到70年代初期,該階段的OCR產(chǎn)品能識別手寫體字符,并且廣泛應(yīng)用到了現(xiàn)實(shí)當(dāng)中;第三階段的OCR技術(shù)主要解決對于質(zhì)量較差的文檔和大字符集的識別[1],還提升了識別的速度和準(zhǔn)確率。1.2.2國內(nèi)研究現(xiàn)狀在文字識別技術(shù)方面,由于國外起步比國內(nèi)要早,所以國內(nèi)在OCR技術(shù)研究方面相對比較落后,在70年代的時候才開始對一些比較簡單的字符識別進(jìn)行研究,例如數(shù)字、英文字母和符號,并沒有對中文字符的識別進(jìn)行研究,直到了70年代末才開始進(jìn)行漢字識別的研究,到了1986年,我國提出國家高技術(shù)研究發(fā)展計劃(863計劃),漢字識別的研究正式進(jìn)入一個實(shí)質(zhì)性階段,我國也推出了一些中文識別的OCR產(chǎn)品,但是由于當(dāng)時還處于研究初期,技術(shù)還不夠成熟等原因,使得所推出的產(chǎn)品在識別的準(zhǔn)確率等多種因素上還不能達(dá)到使用的要求。隨著OCR技術(shù)的不斷成熟和發(fā)展,OCR技術(shù)現(xiàn)在已經(jīng)運(yùn)用到了我們的日常生活中了。1.3論文主要研究內(nèi)容和框架結(jié)構(gòu)1.3.1論文主要研究內(nèi)容本文主要研究的內(nèi)容是使用Python語言結(jié)合一些模塊來進(jìn)行開發(fā),使用jTessBoxEditor來訓(xùn)練字庫,使得該工具可以支持不同的字體。(1)確定該工具要實(shí)現(xiàn)的主要功能。(2)確保該工具文字識別的準(zhǔn)確率。1.3.2論文的主要框架結(jié)構(gòu)本論文主要研究內(nèi)容為一個基于Python的識別圖片中文字的工具設(shè)計與實(shí)現(xiàn),全文分為七章。第一章:介紹基于Python的識別圖片中文字的工具的研究背景和意義,光學(xué)字符識別(Optical?Character?Recognition,?OCR)在國內(nèi)外研究現(xiàn)狀,識別圖片中文字工具所存在的問題和不足,并闡述論文的總體結(jié)構(gòu)。第二章:基于Python的識別圖片中文字的工具技術(shù)介紹第三章:項(xiàng)目的設(shè)計思路和構(gòu)想第四章:圖像文件的預(yù)處理原理和實(shí)現(xiàn)第五章:項(xiàng)目開發(fā)與實(shí)現(xiàn)第六章:訓(xùn)練樣本庫第七章:總結(jié)與展望1.4本章小結(jié)在本章中闡述了本課題的研究背景、OCR的發(fā)展歷史,對比了國內(nèi)外的研究現(xiàn)狀以及本課題的研究意義,還介紹了本次課題的研究內(nèi)容以及對本篇文章的主要內(nèi)容進(jìn)行了歸納。
第二章基于Python的識別圖片中文字的工具技術(shù)介紹2.1圖像預(yù)處理2.1.1關(guān)于圖像灰度化圖像預(yù)處理的目的是改善圖像數(shù)據(jù),抑制不需要的變形和增強(qiáng)某些對于后處理有重要作用的圖像特征[3]。在我們平時接觸到的彩色圖片中,大部分都是采用紅、綠、藍(lán)三個顏色通道變化和這三個顏色互相之間的疊加來得到各種各樣的顏色,這是目前運(yùn)用最多的的顏色系統(tǒng),也叫做RGB顏色模式。RGB并不能反映圖像的形態(tài)和特征[2],在識別圖片中的文字之前,需要對圖片進(jìn)行預(yù)處理,這樣可以減少一些干擾,讓特征更加明顯,提升識別的正確率。灰度圖(greyscaleimage)又稱灰階圖,是一幅只含亮度信息,不含色彩信息的圖像,與原彩色圖像比較,它只有一個通道,圖像中每個像素其實(shí)就是亮度值(Intensity),這樣圖像處理計算量也相應(yīng)大幅減少[4]。在RGB模型,只要把圖像中的R、G、B都取相同的值,就可以實(shí)現(xiàn)圖像的灰度化處理,且R=G=B的值叫做灰度值,灰度值越大,所得的灰度值也會越大,像素顏色趨于白色,反之則趨于黑色。[1]圖1-1圖像灰度化處理2.1.2圖像灰度化的四種方法(1)分量法將彩色圖片中的三分量RGB的亮度的作為三個灰度值,然后根據(jù)需要來選取合適的一個灰度值。即Gray(i,j)=R(i,j)(1)Gray(i,j)=G(i,j)(2)Gray(i,j)=B(i,j)(3)(2)最大值法使用彩色圖片中三分量亮度最大的作為灰度值,即Gray(i,j)=max{R(i,j)G(i,j)B(i,j)}(4)(3)平均值法將彩色圖像中的三分量亮度求平均得到一個灰度值。即Gray(i,j)=(5)(4)加權(quán)平均法根據(jù)所需要提取特征的重要性及其它指標(biāo),把RGB三個分量以不同的權(quán)值來進(jìn)行加權(quán)平均計算。因?yàn)槿说难劬G色的敏感度最高,對藍(lán)色敏感度最低,所以,按下式對RGB三分量進(jìn)行加權(quán)平均計算能得到比較合理的灰度圖像。[5]Gray(i,j)=0.299*R(i,j)+0.5782.2圖像的二值化及使用工具(1)關(guān)于圖像二值化在二值化圖像中只有黑和白兩種灰度,即圖像中所有像素的RGB值為:白(255,255,255),或黑(0,0,0)。圖像二值化的本質(zhì)就是圖像分割,其原理是利用所需要分割的目標(biāo)與背景在灰度特性上的差異進(jìn)行提取。含有文字的圖像在經(jīng)過灰度化處理和二值化處理之后,可以去除多余的像素,使得其中的文字更加突出,這樣的圖像對使用文字識別工具時的準(zhǔn)確率有很大的提升。圖2-1圖像的二值化處理(2)開源的OCR工具Tesseract-OCRTesseract最初是由HP在1980年代開始研發(fā)的,在1995年時,Tesseract發(fā)展成為了最準(zhǔn)確的OCR識別引擎之一[6],但是HP卻放棄了OCR的業(yè)務(wù),直到2005年Tesseract開源了,后來Google贊助了該項(xiàng)目,并對Tesseract進(jìn)行了優(yōu)化改進(jìn),如今Tesseract已經(jīng)支持超過100種書面語言,使用者可以根據(jù)自己的使用需求,對Tesseract進(jìn)行針對性的訓(xùn)練,并進(jìn)行擴(kuò)展[7]。(3)jTessBoxEditor訓(xùn)練樣本jTessBoxEditor是一個用Java開發(fā)出來用來訓(xùn)練OCR識別樣本的工具,通過使用該工具訓(xùn)練樣本可以使Tesseract識別所訓(xùn)練的語言和字體,并可以通過訓(xùn)練樣本來提升識別的準(zhǔn)確率。2.3本章小結(jié)在本章中,簡單地介紹了整個系統(tǒng)實(shí)現(xiàn)的步驟以及圖像灰度化的幾種方法的和圖像二值化處理的原理以及效果展示,并介紹了本次課題所需要使用到的核心工具。第三章項(xiàng)目設(shè)計思路和構(gòu)想3.1軟件設(shè)計思路3.1.1開發(fā)語言本次課題所使用的開發(fā)語言為Python,Python是由荷蘭人吉多·范羅蘇姆所開發(fā)的一款跨平臺的程序開發(fā)語言,是一個高層次的結(jié)合了編譯性、解釋性、互動性和面向?qū)ο蟮哪_本語言,Python提供了十分完善的基礎(chǔ)代碼庫,這使得在進(jìn)行開發(fā)的時候許多功能不需要從頭開始寫,直接使用現(xiàn)成的即可。除此之外,Python還有許非官方的第三方庫,這些庫是由其他開發(fā)人員或組織提供的開源庫,可以根據(jù)自己的開發(fā)需要直接使用第三方庫,同時也可以把自己所開發(fā)的代碼作為第三方庫供他人使用。3.1.2開發(fā)所用的庫(1)PILPIL(PythonImagingLibrary)是計算機(jī)程序設(shè)計語言Python的圖像處理標(biāo)準(zhǔn)庫,具備圖像加載、轉(zhuǎn)換、濾波等基本功能[8],不但擁有著強(qiáng)大的圖像處理功能而且使用人數(shù)眾多,幾乎被認(rèn)為是Python的官方圖像處理庫。其中Image類是PIL庫里的核心類,它可以從文件中載入一個圖像文件,也可以創(chuàng)建一個新的圖像,還能對載入或者創(chuàng)建的圖像進(jìn)行裁剪、旋轉(zhuǎn)翻轉(zhuǎn)、保存為指定格式、顏色通道的分離和合并等操作。(2)pytesseractpytesseract是對Tesseract-OCR的一層封裝,用于Python的光學(xué)字符識別(OCR)工具,它可以讀取并識別圖像中的字符,再以文本的形式輸出,但是圖像不經(jīng)過處理直接使用該工具識別的話效果并不理想。(3)PyQt5PyQt是基于高性能的Qt的GUI控件集,是Qt框架在Python上的實(shí)現(xiàn),它能夠跨平臺運(yùn)行在Windows、Linux和MacOS操作系統(tǒng)上,是GUI庫里比較強(qiáng)大的一個庫。(4)OpenCVOpenCV是一個跨平臺計算機(jī)視覺庫,其中包含了對于計算機(jī)操作系統(tǒng)和計算機(jī)語言編程平臺支持的API接口以及源碼庫[9],該庫為開源的項(xiàng)目,它的源代碼可以根據(jù)自己的需要進(jìn)行修改。3.1.3系統(tǒng)功能需求OCR是為了把圖片中的文字以文本形式進(jìn)行輸出或保存,需要有友好的操作界面供用戶使用,用戶可以自行選擇并打開所需要識別的圖片,在識別完成后以文本形式進(jìn)行輸出,此時用戶可以直接在輸出的文本中對識別錯誤的文字進(jìn)行修改。(1)對識別字符的要求我們?nèi)粘I钪凶畛R姷淖址袔追N,分別為英文字母、數(shù)字、標(biāo)點(diǎn)符號和中文字符,所以必須支持這三種字符的識別,并且準(zhǔn)確率要能達(dá)到較高的水平。(2)對準(zhǔn)確率的要求由于圖片內(nèi)可能會出現(xiàn)其他非字符的內(nèi)容,例如背景、圖案等其他內(nèi)容,所以要對圖片進(jìn)行預(yù)處理,把圖片上的這些非字符的干擾物去除掉再進(jìn)行文字識別,提高識別的準(zhǔn)確率。除此之外,還要盡量還原圖片中文字的段落和格式。(3)識別效率識別的處理過程要盡可能的短,從輸入到輸出整個處理過程的時間不能太長,否則無法達(dá)到通過文字識別提高工作效率的作用。3.2應(yīng)用運(yùn)行流程該應(yīng)用運(yùn)行主要分為圖片輸入、圖片灰度化處理、圖片二值化處理、文字識別、輸出文本五個步驟,流程圖如圖3-1所示。圖3-1運(yùn)行流程圖3.3本章小結(jié)本章具體介紹了本次課題所需要是用的工具和各個模塊的使用,并把整個系統(tǒng)的流程進(jìn)行了劃分成圖片輸入、圖片灰度化處理、圖片二值化處理、文字識別、輸出文本五個步驟。第四章圖像文件的預(yù)處理原理和實(shí)現(xiàn)4.1圖像文件的預(yù)處理灰度化處理的三種方法以及代碼實(shí)現(xiàn)(1)最大值灰度處理方法圖像灰度化處理的最大值法是把灰度值設(shè)為彩色圖片中R、G、B的三個分量之中的最大值,公式如下:Gray(i,j)=max{R(i,j)G(i,j)B(i,j)}通過該方法進(jìn)行灰度化處理后,灰度圖的亮度會很高,效果如圖4-1(a)所示,實(shí)現(xiàn)代碼如圖4-1(b)所示:圖4-1(a)最大值灰度處理圖4-1(b)最大值灰度處理核心代碼(2)平均灰度處理方法平均灰度處理方法即是把原本彩色圖片的R、G、B三個分量的灰度值求和再求平均值,然后把得出的值作為灰度值,計算公式如下所示:Gray(i,j)=(通過該方法處理過后的彩色圖片效果如圖4-2(a),實(shí)現(xiàn)代碼如圖4-2(b)所示:圖4-2(a)平均灰度處理法圖4-2(b)平均灰度處理法核心代碼(3)加權(quán)平均灰度處理方法根據(jù)所需要提取特征的重要性及其它指標(biāo),把RGB三個分量以不同的權(quán)值來進(jìn)行加權(quán)平均計算。計算公式如下所示:Gray(i,j)=0.299*R(i,j)+0.578處理結(jié)果如圖4-3(a)所示,實(shí)現(xiàn)代碼如圖4-3(b)所示:圖4-3(a)加權(quán)平均灰度處理法圖4-3(b)加權(quán)平均灰度處理法核心代碼4.1.2圖像文件的二值化處理圖像在經(jīng)過灰度化處理后,還要進(jìn)行二值化處理。進(jìn)行二值化處理需要選定一個特定的閾值量,這里我選擇的閾值為127,二值化即是把圖像內(nèi)大于等于閾值量的像素點(diǎn)的灰度值設(shè)置為最大值255,而小于閾值127的像素點(diǎn)的灰度值則設(shè)置為0,二值化效果如圖4-4(a)所示,代碼實(shí)現(xiàn)如圖4-4(b)所示:圖4-4(a)圖像二值化處理圖4-4(b)二值化處理核心代碼4.1.3圖像文件的降噪處理經(jīng)過了灰度化和二值化處理后的彩色圖片,它的背景已經(jīng)幾乎無法辨認(rèn),變成了一些零散的像素點(diǎn),接下來則需要對圖片進(jìn)行降噪處理,圖像噪聲是指圖像數(shù)據(jù)中含有的不必要的或者冗余[10]。的干擾信息。此處使用的是八鄰域降噪的方法,八鄰域降噪的前提是要把彩色的圖像先進(jìn)行灰度化處理,這里就可以直接使用經(jīng)過灰度化和二值化處理過后的圖片進(jìn)行降噪,八鄰降噪法的降噪原理是依次遍歷已經(jīng)經(jīng)過灰度化和二值化處理的圖像文件中的所有不是白色的像素點(diǎn),然后再計算在這個非白色的像素點(diǎn)周圍八個點(diǎn)中不是白色的像素點(diǎn)的數(shù)量,如果周圍的非白色像素點(diǎn)小于一個固定的值,那么這個白色的像素點(diǎn)則被視為噪點(diǎn),并進(jìn)行降噪處理,但是這個固定的值需要按情況來進(jìn)行設(shè)置,如果這個值設(shè)置得過大則會導(dǎo)致把非噪點(diǎn)的像素點(diǎn)也進(jìn)行降噪,如果設(shè)置過小的話,降噪效果則會不理想。降噪效果如圖4-5(a)所示,實(shí)現(xiàn)代碼如圖4-5(b)所示,從下面的途中可以明顯的發(fā)現(xiàn),除了文字以外的多余的像素點(diǎn)已經(jīng)被消去了許多,即是還存在一些干擾,但是跟沒有降噪之前的干擾相比,已經(jīng)降低了不少了。圖4-5(a)圖片降噪處理圖4-5(b)降噪處理核心代碼4.2本章小結(jié)本章介紹了圖片的預(yù)處理以及使用Python語言來實(shí)現(xiàn),展示了各個處理的實(shí)現(xiàn)原理以及實(shí)現(xiàn)代碼,并把處理后的效果圖與未進(jìn)行處理的圖像進(jìn)行了比較,可以更加直觀的看出處理過后的圖片關(guān)鍵的信息變得更加明顯。第五章項(xiàng)目開發(fā)與實(shí)現(xiàn)5.1前期工作(1)安裝Python3.5直接進(jìn)入Python的官網(wǎng)中的下載頁面中,選擇適合計算機(jī)系統(tǒng)的版本進(jìn)行下載,下載完成后進(jìn)行安裝。安裝完成后,還需要進(jìn)行環(huán)境變量的配置,如圖5-1所示:圖5-1環(huán)境變量的配置在完成環(huán)境變量的配置后打開cmd,輸入python出現(xiàn)如圖5-2所示信息即說明Python3.5安裝成功并能夠正常使用。圖5-2python3.5安裝成功(2)安裝Tesseract-OCR進(jìn)入Tesseract的官方網(wǎng)站中選擇適合計算機(jī)版本的Tesseract-OCR進(jìn)行下載并安裝,安裝完成后進(jìn)行環(huán)境變量配置,打開cmd輸入tesseract出現(xiàn)如圖5-3所示信息就表明Tesseract-OCR安裝成功并且能夠正常使用。圖5-3tesseract安裝成功(3)IDE和程序所需要使用的模塊的安裝IDE使用的是Pycharm,Pycharm擁有代碼調(diào)試、語法高亮、智能提示等功能,這使得用戶大大提高了Python開發(fā)的效率,而且還能直接在項(xiàng)目里安裝所需要用的模塊。在安裝好Pycharm后,新建項(xiàng)目可以在設(shè)置中看到已有的模塊,可以根據(jù)自己的需要安裝新的模塊,如圖5-4所示,本次主要使用到的模塊包括:Pillow、PyQt5、pytesseract、OpenCV。圖5-4模塊的安裝5.2應(yīng)用功能實(shí)現(xiàn)5.2.1界面設(shè)計與介紹為了方便使用,本應(yīng)用使用PyQt5來開發(fā)一個簡潔且功能齊全應(yīng)用程序界面,通過簡單的操作,就能夠?qū)崿F(xiàn)把圖片中的文字轉(zhuǎn)化為文本的形式。如圖5-5所示:圖5-5應(yīng)用主界面設(shè)計界面中提供使用者打開圖片文件的按鈕,使用者只需通過單擊應(yīng)用程序界面上的“瀏覽”按鈕來打開文件選擇器,就可以從文件選擇器選擇所需要識別的圖片文件,點(diǎn)擊打開后即可完成文件選擇。如圖5-6所示:圖5-6文件選擇器通過點(diǎn)擊界面上方的菜單欄中的設(shè)置按鈕可以選擇用來識別的樣本庫,不選擇則為使用默認(rèn)的樣本庫,從界面的右下角可以看到當(dāng)前所使用的樣本庫。如圖4-7所示:圖5-7選擇樣本庫5.2.3應(yīng)用界面關(guān)鍵代碼介紹(1)應(yīng)用界面窗口的編寫新建Python文件AppUi.py,在應(yīng)用界面窗口編寫前,需要對PyQt5里所需要用到的QtCore、QtGui、QtWidgets等模塊進(jìn)行導(dǎo)入圖5-8導(dǎo)入模塊使用setGeometry()函數(shù)創(chuàng)建一個顯示在屏幕上(300,300)的位置上,寬為600高為800的窗口,并把寬和高設(shè)置為固定大小。用setWindowTitle()函數(shù)把窗口的標(biāo)題設(shè)置為“圖文識別工具”。代碼如圖5-8所示:圖5-9窗口的創(chuàng)建(2)給應(yīng)用界面添加控件根據(jù)功能的使用需求,需要在窗口界面上添加菜單欄、狀態(tài)欄、按鈕、文本顯示框和文本編輯框控件。使用QHBoxLayout()方法設(shè)置水平布局,在水平方向上排列控件,使用QTextBrowser()新建一個文本顯示框,用來顯示所選擇的圖片文件的絕對路徑;使用QPushButton()創(chuàng)建“瀏覽”和“開始”按鈕,“瀏覽”按鈕用于打開文件選擇器,設(shè)置選擇文件類型為圖片文件,“開始”按鈕用于把所選的圖片傳遞到后端進(jìn)行處理;使用QTextEdit()方法創(chuàng)建一個文本編輯框,用于顯示圖片經(jīng)后臺處理后返回的結(jié)果,并可以直接在文本編輯框內(nèi)對識別有誤的文字進(jìn)行編輯。最后使用addWidget()方法把上面所創(chuàng)建的控件添加到窗口上面去,并通過setGeometry()函數(shù)來設(shè)置控件的位置和大小。具體代碼如圖5-10(a)和5-10(b)所示:圖5-10(a)控件的創(chuàng)建和添加部分代碼圖5-10(b)控件的創(chuàng)建和添加部分代碼5.2.4應(yīng)用界面菜單欄、狀態(tài)欄的設(shè)置和控件功能實(shí)現(xiàn)(1)菜單欄和狀態(tài)欄的設(shè)置菜單欄是GUI應(yīng)用程序的通用組件。menuBar()方法可以創(chuàng)建了一個菜單欄,并使用addMenu()在菜單欄上創(chuàng)建了“文件”按鈕、“設(shè)置”按鈕和“關(guān)于”按鈕,用addAction()方法在“文件”菜單下添加了打開、保存、和退出行為。具體代碼如圖5-11所示:圖5-11菜單欄在應(yīng)用界面上添加完控件后需要給控件進(jìn)行配置,使得控件能夠?qū)崿F(xiàn)所需要的功能,菜單欄的按鈕使用triggered.connect()方法來設(shè)置點(diǎn)擊事件如圖4-11所示,各個按鈕所連接到的事件如圖5-12所示;點(diǎn)擊“瀏覽”按鈕后,執(zhí)行QFileDialog()打開文件選擇器,getOpenFileName()設(shè)置文件擴(kuò)展名過濾,只能選擇打開圖像文件,并用來獲取所打開文件的文件類型和絕對路徑;然后使用QTextBrower()的setText()把獲取到的文件名顯示在textBrowser上;點(diǎn)擊菜單欄的“設(shè)置”選擇“選擇樣本庫”同樣也是通過QFileDialog()打開文件選擇器,但是文件擴(kuò)展名過濾則是設(shè)置為只能打開擴(kuò)展名為.traineddatad訓(xùn)練樣本文件,然后把所選擇的樣本通過shutil.copy()放到Tesseract-OCR的tessdata文件夾下,并把樣本參數(shù)YB改為所選的樣本傳到后端進(jìn)行使用。當(dāng)后臺返回識別結(jié)果為空時則會彈出警告提示框。圖5-12按鈕點(diǎn)擊事件5.2.5使用pytesseract的模塊進(jìn)行文字識別測試在完成了應(yīng)用程序界面的設(shè)計和開發(fā)后,下一步則是要把應(yīng)用程序的前端界面和后端的功能進(jìn)行對接。在應(yīng)用程序的界面中完成了圖像文件的選擇,再開始識別之前,需要把所選的圖像文件傳到后臺進(jìn)行圖像預(yù)處理,當(dāng)點(diǎn)擊“開始”按鈕時,圖像文件將會被傳到y(tǒng)uchuli.py文件下的processing()中,此時該圖像文件將被進(jìn)行灰度化和二值化處理。經(jīng)過了灰度化和二值化處理之后,把得到的圖像文件保存到目錄下的temp文件夾當(dāng)中并return該文件所在位置的絕對路徑,在獲取到經(jīng)過灰度化和值化處理后的文件路徑后,再把該路徑傳到j(luò)iangzao.py文件下的noise_remove()當(dāng)中進(jìn)行降噪,當(dāng)所有步驟完成后,最后再把處理完成后的圖片使用pytesseract模塊進(jìn)行文字識別,如圖5-13所示,把得到的字符串顯示到應(yīng)用程序界面上,演示圖片如圖5-14所示,結(jié)果如圖5-15所示:圖5-13pytesseract的使用圖5-14演示圖片圖5-15文字識別上面的演示所使用的是tesseract官方的中文樣本庫,由上面的演示結(jié)果可以得出,雖然圖片經(jīng)過了預(yù)處理之后再進(jìn)行識別,但是識別的準(zhǔn)確率依舊是并不理想,原因是因?yàn)樗褂玫难菔緢D像文件中的字體并不是一般系統(tǒng)所使用的字體,而是一種手寫字體,所以部分文字未能夠正確的識別出來,對于這種特殊的字體想要提高準(zhǔn)確率就要使用jTessBoxEditorFX來訓(xùn)練一個專用的字庫用來進(jìn)行識別。第六章訓(xùn)練樣本庫6.1jTessBoxEditorFX的安裝和使用jTessBoxEditorFX的安裝和運(yùn)行環(huán)境的配置(1)jTessBoxEditorFX的下載到官方網(wǎng)站中下載jTessBoxEditorFX,jTessBoxEditorFX下載下來的是一個壓縮包,不需要進(jìn)行安裝,直接解壓就能使用。解壓后如圖6-1所示:圖6-1jTessBoxEditorFX解壓后(2)Java的安裝和環(huán)境變量的配置進(jìn)入Java的官網(wǎng),選擇符合所使用操作系統(tǒng)的版本進(jìn)行下載并安裝,在安裝完成后需要進(jìn)行環(huán)境變量的配置如圖6-2和6-3所示:圖6-2Java環(huán)境變量配置圖6-3Java環(huán)境變量配置在環(huán)境變量配置完成后,打開cmd,輸入java和javac出現(xiàn)如圖6-4和6-5所示內(nèi)容即表示Java正確安裝并且能夠使用圖6-4cmd輸入java圖6-5cmd輸入javac6.1.2使用jTessBoxEditorFX進(jìn)行樣本訓(xùn)練在進(jìn)行訓(xùn)練之前,需要先把將要訓(xùn)練的樣本進(jìn)行處理,本次所使用的是圖像文件來作為樣本,所以先要把該圖像文件轉(zhuǎn)換為tif格式的圖像文件,打開jTessBoxEditorFX,點(diǎn)擊界面菜單欄的Tools選擇MergeTiff...,然后選擇需要訓(xùn)練的圖像文件,如圖6-6所示:圖6-6選擇所需訓(xùn)練圖像點(diǎn)擊打開后,繼續(xù)選擇所需要保存到的目錄,并輸入生成后的文件名字,如圖6-7所示:圖6-7保存目錄點(diǎn)擊保存后,會彈出如圖6-8所示的提示窗口,此時表示已成功把原本圖像轉(zhuǎn)化為tif格式的文件,打開所選的保存目錄即可看到生成的tif文件如圖6-9所示。圖6-8成功彈窗圖6-9tif文件所在目錄生成了tif文件之后,還要使用tesseract生成對應(yīng)tif文件的box文件,打開tif所在的目錄下,在地址欄輸入cmd,然后在cmd中輸入tesseracttest.tiftest-lchi_sim--psm7batch.nochopmakebox就可以生成與該tif文件所對應(yīng)的box文件,如圖6-10所示:圖6-10生成box文件完成以上步驟后,選擇可以使用jTessBoxEditorFX來對生成的tif文件中的文字內(nèi)容進(jìn)行校正,在BoxEditor中點(diǎn)擊Open按鈕,選擇之前生成的tif文件,如圖6-10所示:圖6-11選擇tif文件打開tif文件后,jTessBoxEditorFX會自動關(guān)聯(lián)上一步驟所生成的box文件,然后可以在jTessBoxEditorFX中看到該圖像文件上面所識別出來的字符所在位置和內(nèi)容,如圖6-12所示:圖6-12打開tif文件由圖6-12可以看出,系統(tǒng)所識別出來的文字無論是位置還是內(nèi)容,都是不準(zhǔn)確的,所以需要手動進(jìn)行校正,校正后的效果如圖6-13所示:圖6-13文字校正在完成文字內(nèi)容和位置的校正后,點(diǎn)擊上方的save進(jìn)行保存,保存完成后,點(diǎn)擊上方的Trainer,然后把TesseractExecutables設(shè)置為Tesseract-OCR的安裝目錄,TrainningData選擇剛剛tif所在的文件夾TrainningMode選擇TrainwithExistingBox,最后點(diǎn)擊run,jTessBoxEditorFX將會把校正后的文字位置和內(nèi)容進(jìn)行處理,并生成.traineddata文件,如圖6-14所示:圖6-14完成樣本訓(xùn)練6.1.3測試樣本效果(1)手寫字體效果測試本次測試分別使用官方的中文字庫和上述完成的csb訓(xùn)練樣本來進(jìn)行比較,官方字庫的測試結(jié)果如圖6-15,訓(xùn)練字庫測試結(jié)果如圖6-16所示:圖6-15官方字庫測試結(jié)果圖6-16csb訓(xùn)練樣本測試結(jié)果(2)特殊字體測試為了驗(yàn)證jTessBoxEditorFX可以對任意字體的文字進(jìn)行訓(xùn)練,并達(dá)到較高的識別準(zhǔn)確率,還進(jìn)行了對一種比較潦草的字體進(jìn)行了訓(xùn)練,測試圖片如圖6-17,測試結(jié)果如圖6-18所示:圖6-17測試圖片圖6-18測試結(jié)果(3)測試總結(jié)由上面兩組測試結(jié)果的圖片可得知,在使用訓(xùn)練的字庫來進(jìn)行識別的話準(zhǔn)確率要比官方的字庫要高得多,而且從上面展示的結(jié)果來看,如果是針對一個圖像文件的訓(xùn)練樣本用來識別該圖像,準(zhǔn)確率幾乎能夠達(dá)到百分之百。6.2本章小結(jié)本章詳細(xì)介紹了使用jTessBoxEditorFX工具來訓(xùn)練字庫,以及展示了使用訓(xùn)練的字庫和官方的中文字庫進(jìn)行識別的效果,由此得出在圖像中的文字如果不是一般常見的印刷字體的話需要通過訓(xùn)練字庫才能獲取較好的識別效果。第七章總結(jié)與展望7.1總結(jié)經(jīng)過幾個月的努力,本次課題的研究和開發(fā)已經(jīng)接近尾聲了,在完成本次的畢業(yè)課題的課程中,我了解到了許多新的知識,開拓了我的視野。本次的課題是基于Python的識別圖片中文字的工具設(shè)計與實(shí)現(xiàn),使用的是Python來進(jìn)行開發(fā),由于本課題涉及到了不少圖像處理的相關(guān)知識,因此,我查閱了不少的文獻(xiàn),也從中學(xué)到了很多新的知識,同時,在完成本次開發(fā)的過程中,個人的編程開發(fā)水平也得到了提高。雖然本次課題的基本功能都已實(shí)現(xiàn),但是文字識別的準(zhǔn)確率還是相當(dāng)有限的,想要實(shí)現(xiàn)高的識別率需要花費(fèi)大量的時間進(jìn)行訓(xùn)練字庫和文字校正,且在一些場景復(fù)雜的場景當(dāng)中,想要獲取到清晰的文字內(nèi)容也需要進(jìn)行大量的圖像處理。7.2展望在信息化的時代里,各種各樣的數(shù)據(jù)都逐漸的轉(zhuǎn)化成為電子化的信息,而現(xiàn)存紙質(zhì)資料和數(shù)據(jù)在未來也將會錄入到計算機(jī)之中來保存,OCR技術(shù)在以后數(shù)據(jù)錄入的環(huán)節(jié)中起到了至關(guān)重要的作用,雖然現(xiàn)在的OCR技術(shù)已經(jīng)非常成熟了,居然很高的準(zhǔn)確率和識別效率,但是仍然沒有能夠達(dá)到百分百的準(zhǔn)確率,隨著科技的不斷發(fā)展,相信在不久的將來OCR技術(shù)將會更上一層樓。參考文獻(xiàn)[1]謝飛.紙質(zhì)目錄卡片的數(shù)字化轉(zhuǎn)換及MapReduce并行處理[D].湖南:國防科學(xué)技術(shù)大學(xué),2015.[2]張偉超,肖中俊,嚴(yán)志國.基于Opencv和Tesseract的行駛證識別系統(tǒng)設(shè)計[J].齊魯工業(yè)大學(xué)學(xué)報,2020,34(1):47-52.DOI:10.16442/ki.qlgydxxb.2020.01.009.[3]劉保安.基于MATLAB的車牌圖像預(yù)處理應(yīng)用[J].電腦迷,2019(2):11,13.[4]陳碗平.灰度指紋圖像增強(qiáng)[D].江蘇:南京理工大學(xué),2006.DOI:10.7666/d.y1001076.[5]劉海波,吳昊.基于OpenCV的圖像處理[J].計算機(jī)光盤軟件與應(yīng)用,2014,(9):195-195,197.[6]劉永春.基于SVM的車牌字符識別算法研究[J].四川理工學(xué)院學(xué)報:自然科學(xué)版,2012,25(4):46-49.DOI:10.3969/j.issn.1673-1549.2012.04.013.[7]張淙悅,尹梓名,孫大運(yùn),等.基于Tesseract的醫(yī)學(xué)化驗(yàn)單內(nèi)容識別技術(shù)[J].北京生物醫(yī)學(xué)工程,2019,38(3):283-289.DOI:10.3969/j.issn.1002-3208.2019.03.011.[8]楊琰皓.Python使用PIL庫識別條碼及其可譯碼度的研究[J].中國自動識別技術(shù),2019,(1):68-71.DOI:10.3969/j.issn.1673-6362.2019.01.013.[9]鄒富,周俊,范倩藍(lán),等.基于UPSquared的OpenCV物體圖像識別應(yīng)用[J].電子測試,2019,(22):62-63.[10]郭室驛.基于OpenCV和Tesseract-OCR的英文字符算法研究[J].電腦編程技巧與維護(hù),2019,(6):45-49.DOI:10.3969/j.issn.1006-4052.2019.06.017.致謝不知不覺,大學(xué)生活已經(jīng)來到了第四年的最后階段了,回想這四年的大學(xué)生活,能夠一路順利走來少不了學(xué)校老師以及同學(xué)的教導(dǎo)和幫助,對此,我表示衷心的感謝。我還要特別感謝我的導(dǎo)師,范波老師,從畢設(shè)的選題到最后順利的完成都離不開導(dǎo)師的悉心教導(dǎo),在整個過程中都給予了我很大的幫助,無論是在我開發(fā)還是寫作的過程中遇到的任何困難時,我的導(dǎo)師總能很有耐心并且十分重視地協(xié)助我解決困難。其次,我也很感謝我所有的老師在這幾年對我的悉心教導(dǎo)。在東軟的四年學(xué)習(xí)中,我從他們的課程中學(xué)到了很多有用的理論,為完成本次畢業(yè)設(shè)計打下了堅實(shí)的基礎(chǔ)。我要衷心感謝我的父母和姐姐,在這二十多年來對我無條件的照顧和幫助,尤其是我的父母,他們含辛茹苦地培養(yǎng)我長大,把全部的積蓄都用來供我讀書。最后,再次向這么多年幫助過我的老師和同學(xué)表示最真摯的感謝。附錄
電腦故障檢測卡代碼表
1、特殊代碼"00"和"ff"及其它起始碼有三種情況出現(xiàn):
①已由一系列其它代碼之后再出現(xiàn):"00"或"ff",則主板ok。
②如果將cmos中設(shè)置無錯誤,則不嚴(yán)重的故障不會影響bios自檢的繼續(xù),而最終出現(xiàn)"00"或"ff"。
③一開機(jī)就出現(xiàn)"00"或"ff"或其它起始代碼并且不變化則為主板沒有運(yùn)行起來。
2、本表是按代碼值從小到大排序,卡中出碼順序不定。
3、未定義的代碼表中未列出。
4、對于不同bios(常用ami、award、phoenix)用同一代碼代表的意義不同,因此應(yīng)弄清您所檢測的電腦是屬于哪一種類型的bios,您可查閱您的電腦使用手冊,或從主板上的bios芯片上直接查看,也可以在啟動屏幕時直接看到。
5、有少數(shù)主板的pci槽只有一部分代碼出現(xiàn),但isa槽有完整自檢代碼輸出。且目前已發(fā)現(xiàn)有極個別原裝機(jī)主板的isa槽無代碼輸出,而pci槽則有完整代碼輸出,故建議您在查看代碼不成功時,將本雙槽卡換到另一種插槽試一下。另外,同一塊主板的不同pci槽,有的槽有完整代碼送出,如dell810主板只有靠近c(diǎn)pu的一個pci槽有完整代碼顯示,一直變化到"00"或"ff",而其它pci槽走到"38"后則不繼續(xù)變化。
6、復(fù)位信號所需時間isa與pci不一定同步,故有可能isa開始出代碼,但pci的復(fù)位燈還不熄,故pci代碼停要起始代碼上。
代碼對照表
00.已顯示系統(tǒng)的配置;即將控制INI19引導(dǎo)裝入。
01處理器測試1,處理器狀態(tài)核實(shí),如果測試失敗,循環(huán)是無限的。處理器寄存器的測試即將開始,不可屏蔽中斷即將停用。CPU寄存器測試正在進(jìn)行或者失敗。
02確定診斷的類型(正?;蛘咧圃欤H绻I盤緩沖器含有數(shù)據(jù)就會失效。停用不可屏蔽中斷;通過延遲開始。CMOS寫入/讀出正在進(jìn)行或者失靈。
03清除8042鍵盤控制器,發(fā)出TESTKBRD命令(AAH)通電延遲已完成。ROMBIOS檢查部件正在進(jìn)行或失靈。
04使8042鍵盤控制器復(fù)位,核實(shí)TESTKBRD。鍵盤控制器軟復(fù)位/通電測試。可編程間隔計時器的測試正在進(jìn)行或失靈。
05如果不斷重復(fù)制造測試1至5,可獲得8042控制狀態(tài)。已確定軟復(fù)位/通電;即將啟動ROM。DMA初如準(zhǔn)備正在進(jìn)行或者失靈。
06使電路片作初始準(zhǔn)備,停用視頻、奇偶性、DMA電路片,以及清除DMA電路片,所有頁面寄存器和CMOS停機(jī)字節(jié)。已啟動ROM計算ROMBIOS檢查總和,以及檢查鍵盤緩沖器是否清除。DMA初始頁面寄存器讀/寫測試正在進(jìn)行或失靈。
07處理器測試2,核實(shí)CPU寄存器的工作。ROMBIOS檢查總和正常,鍵盤緩沖器已清除,向鍵盤發(fā)出BAT(基本保證測試)命令。.
08使CMOS計時器作初始準(zhǔn)備,正常的更新計時器的循環(huán)。已向鍵盤發(fā)出BAT命令,即將寫入BAT命令。RAM更新檢驗(yàn)正在進(jìn)行或失靈。
09EPROM檢查總和且必須等于零才通過。核實(shí)鍵盤的基本保證測試,接著核實(shí)鍵盤命令字節(jié)。第一個64KRAM測試正在進(jìn)行。
0A使視頻接口作初始準(zhǔn)備。發(fā)出鍵盤命令字節(jié)代碼,即將寫入命令字節(jié)數(shù)據(jù)。第一個64KRAM芯片或數(shù)據(jù)線失靈,移位。
0B測試8254通道0。寫入鍵盤控制器命令字節(jié),即將發(fā)出引腳23和24的封鎖/解鎖命令。第一個64KRAM奇/偶邏輯失靈。
0C測試8254通道1。鍵盤控制器引腳23、24已封鎖/解鎖;已發(fā)出NOP命令。第一個64KRAN的地址線故障。
0D1、檢查CPU速度是否與系統(tǒng)時鐘相匹配。2、檢查控制芯片已編程值是否符合初設(shè)置。3、視頻通道測試,如果失敗,則鳴喇叭。已處理NOP命令;接著測試CMOS停開寄存器。第一個64KRAM的奇偶性失靈
0E測試CMOS停機(jī)字節(jié)。CMOS停開寄存器讀/寫測試;將計算CMOS檢查總和。初始化輸入/輸出端口地址。
0F測試擴(kuò)展的CMOS。已計算CMOS檢查總和寫入診斷字節(jié);CMOS開始初始準(zhǔn)備。.
10測試DMA通道0。CMOS已作初始準(zhǔn)備,CMOS狀態(tài)寄存器即將為日期和時間作初始準(zhǔn)備。第一個64KRAM第0位故障。
11測試DMA通道1。CMOS狀態(tài)寄存器已作初始準(zhǔn)備,即將停用DMA和中斷控制器。第一個64DKRAM第1位故障。
12測試DMA頁面寄存器。停用DMA控制器1以及中斷控制器1和2;即將視頻顯示器并使端口B作初始準(zhǔn)備。第一個64DKRAM第2位故障。
13測試8741鍵盤控制器接口。視頻顯示器已停用,端口B已作初始準(zhǔn)備;即將開始電路片初始化/存儲器自動檢測。第一個64DKRAM第3位故障。
14測試存儲器更新觸發(fā)電路。電路片初始化/存儲器處自動檢測結(jié)束;8254計時器測試即將開始。第一個64DKRAM第4位故障。
15測試開頭64K的系統(tǒng)存儲器。第2通道計時器測試了一半;8254第2通道計時器即將完成測試。第一個64DKRAM第5位故障。
16建立8259所用的中斷矢量表。第2通道計時器測試結(jié)束;8254第1通道計時器即將完成測試。第一個64DKRAM第6位故障。
17調(diào)準(zhǔn)視頻輸入/輸出工作,若裝有視頻BIOS則啟用。第1通道計時器測試結(jié)束;8254第0通道計時器即將完成測試。第一個64DKRAM第7位故障。
18測試視頻存儲器,如果安裝選用的視頻BIOS通過,由可繞過。第0通道計時器測試結(jié)束;即將開始更新存儲器。第一個64DKRAM第8位故障。
19測試第1通道的中斷控制器(8259)屏蔽位。已開始更新存儲器,接著將完成存儲器的更新。第一個64DKRAM第9位故障。
1A測試第2通道的中斷控制器(8259)屏蔽位。正在觸發(fā)存儲器更新線路,即將檢查15微秒通/斷時間。第一個64DKRAM第10位故障。
1B測試CMOS電池電平。完成存儲器更新時間30微秒測試;即將開始基本的64K存儲器測試。第一個64DKRAM第11位故障。
1C測試CMOS檢查總和。.第一個64DKRAM第12位故障。
1D調(diào)定CMOS配置。.第一個64DKRAM第13位故障。
1E測定系統(tǒng)存儲器的大小,并且把它和CMOS值比較。.第一個64DKRAM第14位故障。
1F測試64K存儲器至最高640K。.第一個64DKRAM第15位故障。
20測量固定的8259中斷位。開始基本的64K存儲器測試;即將測試地址線。從屬DMA寄存器測試正在進(jìn)行或失靈。
21維持不可屏蔽中斷(NMI)位(奇偶性或輸入/輸出通道的檢查)。通過地址線測試;即將觸發(fā)奇偶性。主DMA寄存器測試正在進(jìn)行或失靈。
22測試8259的中斷功能。結(jié)束觸發(fā)奇偶性;將開始串行數(shù)據(jù)讀/寫測試。主中斷屏蔽寄存器測試正在進(jìn)行或失靈。
23測試保護(hù)方式8086虛擬方式和8086頁面方式。基本的64K串行數(shù)據(jù)讀/寫測試正常;即將開始中斷矢量初始化之前的任何調(diào)節(jié)。從屬中斷屏蔽存器測試正在進(jìn)行或失靈。
24測定1MB以上的擴(kuò)展存儲器。矢量初始化之前的任何調(diào)節(jié)完成,即將開始中斷矢量的初始準(zhǔn)備。設(shè)置ES段地址寄存器注冊表到內(nèi)存高端。
25測試除頭一個64K之后的所有存儲器。完成中斷矢量初始準(zhǔn)備;將為旋轉(zhuǎn)式斷續(xù)開始讀出8042的輸入/輸出端口。裝入中斷矢量正在進(jìn)行或失靈。
26測試保護(hù)方式的例外情況。讀出8042的輸入/輸出端口;即將為旋轉(zhuǎn)式斷續(xù)開始使全局?jǐn)?shù)據(jù)作初始準(zhǔn)備。開啟A20地址線;使之參入尋址。
27確定超高速緩沖存儲器的控制或屏蔽RAM。全1數(shù)據(jù)初始準(zhǔn)備結(jié)束;接著將進(jìn)行中斷矢量之后的任何初始準(zhǔn)備。鍵盤控制器測試正在進(jìn)行或失靈。
28確定超高速緩沖存儲器的控制或者特別的8042鍵盤控制器。完成中斷矢量之后的初始準(zhǔn)備;即將調(diào)定單色方式。CMOS電源故障/檢查總和計算正在進(jìn)行。
29.已調(diào)定單色方式,即將調(diào)定彩色方式。CMOS配置有效性的檢查正在進(jìn)行。
2A使鍵盤控制器作初始準(zhǔn)備。已調(diào)定彩色方式,即將進(jìn)行ROM測試前的觸發(fā)奇偶性。置空64K基本內(nèi)存。
2B使磁碟驅(qū)動器和控制器作初始準(zhǔn)備。觸發(fā)奇偶性結(jié)束;即將控制任選的視頻ROM檢查前所需的任何調(diào)節(jié)。屏幕存儲器測試正在進(jìn)行或失靈。
2C檢查串行端口,并使之作初始準(zhǔn)備。完成視頻ROM控制之前的處理;即將查看任選的視頻ROM并加以控制。屏幕初始準(zhǔn)備正在進(jìn)行或失靈。
2D檢測并行端口,并使之作初始準(zhǔn)備。已完成任選的視頻ROM控制,即將進(jìn)行視頻ROM回復(fù)控制之后任何其他處理的控制。屏幕回掃測試正在進(jìn)行或失靈。
2E使硬磁盤驅(qū)動器和控制器作初始準(zhǔn)備。從視頻ROM控制之后的處理復(fù)原;如果沒有發(fā)現(xiàn)EGA/VGA就要進(jìn)行顯示器存儲器讀/寫測試。檢測視頻ROM正在進(jìn)行。
2F檢測數(shù)學(xué)協(xié)處理器,并使之作初始準(zhǔn)備。沒發(fā)現(xiàn)EGA/VGA;即將開始顯示器存儲器讀/寫測試。.
30建立基本內(nèi)存和擴(kuò)展內(nèi)存。通過顯示器存儲器讀/寫測試;即將進(jìn)行掃描檢查。認(rèn)為屏幕是可以工作的。
31檢測從C800:0至EFFF:0的選用ROM,并使之作初始準(zhǔn)備。顯示器存儲器讀/寫測試或掃描檢查失敗,即將進(jìn)行另一種顯示器存儲器讀/寫測試。單色監(jiān)視器是可以工作的。
32對主板上COM/LTP/FDD/聲音設(shè)備等I/O芯片編程使之適合設(shè)置值。通過另一種顯示器存儲器讀/寫測試;卻將進(jìn)行另一種顯示器掃描檢查。彩色監(jiān)視器(40列)是可以工作的。
33.視頻顯示器檢查結(jié)束;將開始利用調(diào)節(jié)開關(guān)和實(shí)際插卡檢驗(yàn)顯示器的關(guān)型。彩色監(jiān)視器(80列)是可以工作的。
34.已檢驗(yàn)顯示器適配器;接著將調(diào)定顯示方式。計時器滴答聲中斷測試正在進(jìn)行或失靈。35.完成調(diào)定顯示方式;即將檢查BIOSROM的數(shù)據(jù)區(qū)。停機(jī)測試正在進(jìn)行或失靈。
36.已檢查BIOSROM數(shù)據(jù)區(qū);即將調(diào)定通電信息的游標(biāo)。門電路中A-20失靈。
37.識別通電信息的游標(biāo)調(diào)定已完成;即將顯示通電信息。保護(hù)方式中的意外中斷。
38.完成顯示通電信息;即將讀出新的游標(biāo)位置。RAM測試正在進(jìn)行或者地址故障>FFFFH。
39.已讀出保存游標(biāo)位置,即將顯示引用信息串。.
3A.引用信息串顯示結(jié)束;即將顯示發(fā)現(xiàn)信息。間隔計時器通道2測試或失靈。
3B用OPTI電路片(只是486)使輔助超高速緩沖存儲器作初始準(zhǔn)備。已顯示發(fā)現(xiàn)<ESC>信息;虛擬方式,存儲器測試即將開始。按日計算的日歷時鐘測試正在進(jìn)行或失靈。
3C建立允許進(jìn)入CMOS設(shè)置的標(biāo)志。.串行端口測試正在進(jìn)行或失靈。
3D初始化鍵盤/PS2鼠標(biāo)/PNP設(shè)備及總內(nèi)存節(jié)點(diǎn)。.并行端口測試正在進(jìn)行或失靈。
3E嘗試打開L2高速緩存。.數(shù)學(xué)協(xié)處理器測試正在進(jìn)行或失靈。
40.已開始準(zhǔn)備虛擬方式的測試;即將從視頻存儲器來檢驗(yàn)。調(diào)整CPU速度,使之與外圍時鐘精確匹配。
41中斷已打開,將初始化數(shù)據(jù)以便于0:0檢測內(nèi)存變換(中斷控制器或內(nèi)存不良)從視頻存儲器檢驗(yàn)之后復(fù)原;即將準(zhǔn)備描述符表。系統(tǒng)插件板選擇失靈。
42顯示窗口進(jìn)入SETUP。描述符表已準(zhǔn)備好;即將進(jìn)行虛擬方式作存儲器測試。擴(kuò)展CMOSRAM故障。
43若是即插即用BIOS,則串口、并口初始化。進(jìn)入虛擬方式;即將為診斷方式實(shí)現(xiàn)中斷。.44.已實(shí)現(xiàn)中斷(如已接通診斷開關(guān);即將使數(shù)據(jù)作初始準(zhǔn)備以檢查存儲器在0:0返轉(zhuǎn)。)BIOS中斷進(jìn)行初始化。
45初始化數(shù)學(xué)協(xié)處理器。數(shù)據(jù)已作初始準(zhǔn)備;即將檢查存儲器在0:0返轉(zhuǎn)以及找出系統(tǒng)存儲器的規(guī)模。.
46.測試存儲器已返回;存儲器大小計算完畢,即將寫入頁面來測試存儲器。檢查只讀存儲器ROM版本。
47.即將在擴(kuò)展的存儲器試寫頁面;即將基本640K存儲器寫入頁面。
48.已將基本存儲器寫入頁面;即將確定1MB以上的存儲器。視頻檢查,CMOS重新配置。
49.找出1BM以下的存儲器并檢驗(yàn);即將確定1MB以上的存儲器。.
4A.找出1MB以上的存儲器并檢驗(yàn);即將檢查BIOSROM數(shù)據(jù)區(qū)。進(jìn)行視頻的初始化。
4B.BIOSROM數(shù)據(jù)區(qū)的檢驗(yàn)結(jié)束,即將檢查<ESC>和為軟復(fù)位清除1MB以上的存儲器。.4C.清除1MB以上的存儲器(軟復(fù)位)即將清除1MB以上的存儲器.屏蔽視頻BIOSROM。.4D。已清除1MB以上的存儲器(軟復(fù)位);將保存存儲器的大小。.
4E若檢測到有錯誤;在顯示器上顯示錯誤信息,并等待客戶按<F1>鍵繼續(xù)。開始存儲器的測試:(無軟復(fù)位);即將顯示第一個64K存儲器的測試。顯示版權(quán)信息。
4F讀寫軟、硬盤數(shù)據(jù),進(jìn)行DOS引導(dǎo)。開始顯示存儲器的大小,正在測試存儲器將使之更新;將進(jìn)行串行和隨機(jī)的存儲器測試。.
50將當(dāng)前BIOS監(jiān)時區(qū)內(nèi)的CMOS值存到CMOS中。完成1MB以下的存儲器測試;即將高速存儲器的大小以便再定位和掩蔽。將CPU類型和速度送到屏幕。
51.測試1MB以上的存儲器。.
52所有ISA只讀存儲器ROM進(jìn)行初始化,最終給PCI分配IRQ號等初始化工作。已完成1MB以上的存儲器測試;即將準(zhǔn)備回到實(shí)址方式。進(jìn)入鍵盤檢測。
53如果不是即插即用BIOS,則初始化串口、并口和設(shè)置時種值。保存CPU寄存器和存儲器的大小,將進(jìn)入實(shí)址方式。.
54.成功地開啟實(shí)址方式;即將復(fù)原準(zhǔn)備停機(jī)時保存的寄存器。掃描“打擊鍵”
55.寄存器已復(fù)原,將停用門電路A-20的地址線。.
56.成功地停用A-20的地址線;即將檢查BIOSROM數(shù)據(jù)區(qū)。鍵盤測試結(jié)束。
57.BIOSROM數(shù)據(jù)區(qū)檢查了一半;繼續(xù)進(jìn)行。.
58.BIOSROM的數(shù)據(jù)區(qū)檢查結(jié)束;將清除發(fā)現(xiàn)<ESC>信息。非設(shè)置中斷測試。
59.已清除<ESC>信息;信息已顯示;即將開始DMA和中斷控制器的測試。.
5A..顯示按“F2”鍵進(jìn)行設(shè)置。
5B..測試基本內(nèi)存地址。
5C..測試640K基本內(nèi)存。
60設(shè)置硬盤引導(dǎo)扇區(qū)病毒保護(hù)功能。通過DMA頁面寄存器的測試;即將檢驗(yàn)視頻存儲器。測試擴(kuò)展內(nèi)存。
61顯示系統(tǒng)配置表。視頻存儲器檢驗(yàn)結(jié)束;即將進(jìn)行DMA#1基本寄存器的測試。.
62開始用中斷19H進(jìn)行系統(tǒng)引導(dǎo)。通過DMA#1基本寄存器的測試;即將進(jìn)行DMA#2寄存器的測試。測試擴(kuò)展內(nèi)存地址線。
63.通過DMA#2基本寄存器的測試;即將檢查BIOSROM數(shù)據(jù)區(qū)。.
64.BIOSROM數(shù)據(jù)區(qū)檢查了一半,繼續(xù)進(jìn)行。.
65.BIOSROM數(shù)據(jù)區(qū)檢查結(jié)束;將把DMA裝置1和2編程。.
66.DMA裝置1和2編程結(jié)束;即將使用59號中斷控制器作初始準(zhǔn)備。Cache注冊表進(jìn)行優(yōu)化配置。
67.8259初始準(zhǔn)備已結(jié)束;即將開始鍵盤測試。.
68..使外部Cache和CPU內(nèi)部Cache都工作。
6A..測試并顯示外部Cache值。
6C..顯示被屏蔽內(nèi)容。
6E..顯示附屬配置信息。
70..檢測到的錯誤代碼送到屏幕顯示。
72..檢測配置有否錯誤。
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度首付分期購房借款合同范本規(guī)定6篇
- 年度線性低密度聚乙烯產(chǎn)業(yè)分析報告
- 年度吸污車產(chǎn)業(yè)分析報告
- 2025年度樓房建筑工程合同糾紛解決協(xié)議4篇
- 二零二四年養(yǎng)老社區(qū)三方物業(yè)服務(wù)委托合同文本3篇
- 二零二五年度船舶租賃船運(yùn)輸協(xié)議合同3篇
- 二零二五年酒店客房家具更新?lián)Q代合同3篇
- 2025年度智能交通信號系統(tǒng)安裝與維護(hù)承包協(xié)議合同范本3篇
- 二零二五版教育培訓(xùn)機(jī)構(gòu)合同標(biāo)的課程開發(fā)與教學(xué)質(zhì)量承諾3篇
- 2025年度生物質(zhì)能發(fā)電項(xiàng)目合作協(xié)議合同范本
- GB/T 33688-2017選煤磁選設(shè)備工藝效果評定方法
- GB/T 304.3-2002關(guān)節(jié)軸承配合
- 漆畫漆藝 第三章
- CB/T 615-1995船底吸入格柵
- 光伏逆變器一課件
- 貨物供應(yīng)、運(yùn)輸、包裝說明方案
- (完整版)英語高頻詞匯800詞
- 《基礎(chǔ)馬來語》課程標(biāo)準(zhǔn)(高職)
- IEC61850研討交流之四-服務(wù)影射
- 《兒科學(xué)》新生兒窒息課件
- 材料力學(xué)壓桿穩(wěn)定
評論
0/150
提交評論