基于數(shù)字圖像處理技術(shù)的答題卡識(shí)別方法(圖像處理課程練習(xí))_第1頁(yè)
基于數(shù)字圖像處理技術(shù)的答題卡識(shí)別方法(圖像處理課程練習(xí))_第2頁(yè)
基于數(shù)字圖像處理技術(shù)的答題卡識(shí)別方法(圖像處理課程練習(xí))_第3頁(yè)
基于數(shù)字圖像處理技術(shù)的答題卡識(shí)別方法(圖像處理課程練習(xí))_第4頁(yè)
基于數(shù)字圖像處理技術(shù)的答題卡識(shí)別方法(圖像處理課程練習(xí))_第5頁(yè)
已閱讀5頁(yè),還剩7頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、××大學(xué)2013-2014學(xué)年第二學(xué)期課程考核圖像處理綜合設(shè)計(jì)報(bào)告基于數(shù)字圖像處理技術(shù)的答題卡識(shí)別方法學(xué) 號(hào) 姓 名 班 級(jí) 日 期 本人鄭重聲明:本人認(rèn)真、獨(dú)立完成了查找資料、編寫程序、撰寫報(bào)告等考核任務(wù)。簽字:日期:摘 要背景:隨著科技的發(fā)展,電子與計(jì)算機(jī)技術(shù)的進(jìn)步,答題卡的出現(xiàn)大大減輕教學(xué)工作者們批改試卷的工作量。答題卡是光標(biāo)閱讀機(jī)輸入信息的載體,是配套光標(biāo)閱讀機(jī)的各種信息錄入表格的總稱。 答題卡將用戶需要的信息轉(zhuǎn)化為可選擇的選項(xiàng),供用戶涂寫。OMR是用光學(xué)掃描的方法來(lái)識(shí)別按一定格式印刷或書寫的標(biāo)記,并將其轉(zhuǎn)換為計(jì)算機(jī)能接受的電信號(hào)的設(shè)備,并根據(jù)信息點(diǎn)的涂與未涂和格式

2、文件設(shè)置將信息還原。因此,如何將答題卡填涂的黑色區(qū)域識(shí)別出來(lái)并使用計(jì)算機(jī)進(jìn)行處理是極為關(guān)鍵的。本論文探索了有效識(shí)別答題卡的方法,以matlab為工具,基于數(shù)字圖像處理技術(shù)對(duì)答題卡填涂區(qū)域進(jìn)行了識(shí)別,并對(duì)識(shí)別的結(jié)果進(jìn)行了處理,得到了結(jié)果。本論文利用Hough變換的直線檢測(cè)技術(shù)檢測(cè)圖像的傾斜度,判斷圖像是否傾斜,對(duì)存在傾斜的圖像進(jìn)行旋轉(zhuǎn)校正。最終實(shí)現(xiàn)答題卡答案的定位和檢測(cè)。論文使用像素統(tǒng)計(jì)方法進(jìn)行識(shí)別,利用黑白顏色灰度值的巨大差異對(duì)二值圖像的灰度值進(jìn)行累加并進(jìn)行閾值判定,識(shí)別錯(cuò)誤效率極低,能夠準(zhǔn)確的識(shí)別答題卡的涂卡標(biāo)記。關(guān)鍵詞:Hough變換,答題卡識(shí)別,matlab,一、設(shè)計(jì)任務(wù)、目的和要求本設(shè)

3、計(jì)以matlab為工具利用數(shù)字圖像處理技術(shù)對(duì)答題卡進(jìn)行了識(shí)別,并對(duì)識(shí)別結(jié)果進(jìn)行了處理。注意到答題卡在采集圖像的過(guò)程中由于各種原因可能會(huì)產(chǎn)生圖像傾斜、水平或垂直錯(cuò)位,要進(jìn)行正確識(shí)別首先必須對(duì)其進(jìn)行校正,再依據(jù)像素檢索技術(shù)進(jìn)行識(shí)別。二、總體方案設(shè)計(jì)說(shuō)明系統(tǒng)運(yùn)行環(huán)境,編程軟件平臺(tái),編碼算法原理,算法流程圖設(shè)計(jì)本系統(tǒng)運(yùn)行在當(dāng)今主流的Windows7系統(tǒng),使用較新的MATLAB2012b進(jìn)行設(shè)計(jì)。在進(jìn)行旋轉(zhuǎn)校正時(shí),先使用Hough變換檢測(cè)出答題卡邊緣直線,調(diào)用lines函數(shù)的參數(shù)得到傾斜角度并進(jìn)行旋轉(zhuǎn)變換從而消除答題卡傾斜狀態(tài)。將掃描部分分為7個(gè)掃描區(qū)域,分別使用像素檢索技術(shù),對(duì)各個(gè)檢索區(qū)域內(nèi)的灰度值進(jìn)

4、行累加,并對(duì)累加和進(jìn)行閾值判定,從而得出檢索區(qū)域顏色,完成判定。最后再與標(biāo)準(zhǔn)答案進(jìn)行比對(duì),得出成績(jī)。流程圖:開(kāi)始灰度化Hough變換圖像旋轉(zhuǎn)圖像傾斜嗎? 是 是 否 測(cè)量各個(gè)掃描區(qū)域的起始坐標(biāo)分別依次統(tǒng)計(jì)各大掃描區(qū)域內(nèi)各個(gè)檢測(cè)區(qū)域的灰度值閾值判定,得出所檢測(cè)區(qū)域顏色并賦值與標(biāo)準(zhǔn)答案比對(duì)算出成績(jī)結(jié)束三、程序設(shè)計(jì) clc;clear;close;A=imread('原圖.jpg');%讀取圖像imshow(A),title('原圖');gray=rgb2gray(A);bw=edge(gray,'canny');%canny算子邊緣檢測(cè)得到二值邊緣圖

5、像h,t,r=hough(bw,'RhoResolution',0.5,'ThetaResolution',0.5); %Hough變換figure,imshow(imadjust(mat2gray(h),'XData',t,'YData',r,'InitialMagnification','fit'),title('Hough變換矩陣');%顯示Hough變換矩陣xlabel('theta'),ylabel('rho');axis on, axis

6、normal,hold on;P=houghpeaks(h,2);x=t(P(:,2);y=r(P(:,1);plot(x,y,'s','color','r'),title('');%獲取并標(biāo)出參數(shù)平面的峰值點(diǎn)lines=houghlines(bw,t,r,P,'FillGap',5,'Minlength',7);%檢測(cè)圖像中的直線段figure,imshow(gray);hold on;max_len=0;for i=1:length(lines) xy=lines(i).point1;lines

7、(i).point2; plot(xy(:,1),xy(:,2),'LineWidth',2,'Color','g');%用綠色線段標(biāo)注直線段 plot(xy(:,1),xy(1,2),'x','LineWidth',2,'Color','y'); plot(xy(:,1),xy(2,2),'x','LineWidth',2,'Color','r');%標(biāo)注直線段端點(diǎn)endx=lines.theta;%由與圖像邊緣平行的

8、直線段的斜率得到整個(gè)圖像旋轉(zhuǎn)的角度B=imrotate(gray,x);%圖像修正figure,imshow(B),title('旋轉(zhuǎn)后圖像');T=graythresh(B);%使用OTSU方法獲得閥值Tresult=im2bw(B,T);%二值化圖像figure,imshow(result),title('二值化后結(jié)果');%掃描區(qū)域:在本程序中,有7個(gè)掃描區(qū)域,分別對(duì)應(yīng)題號(hào)為1-5,6-10,11-15,16-20,21-25,26-30,31-35這幾個(gè)區(qū)域n=52;m=244;% 首先測(cè)得答題區(qū)域第一題A選項(xiàng)左上角的坐標(biāo)(52,244)s=60;t=9

9、0;%s為上下兩個(gè)掃描區(qū)域的距離,t為左右兩個(gè)掃描區(qū)域的距離。P=4;Q=5;%P為字母項(xiàng)的個(gè)數(shù)(這里有ABCD共有4項(xiàng)),Q為每個(gè)小區(qū)域選項(xiàng)數(shù)。interval_length=14;%左右相鄰兩題填涂區(qū)域左邊線的距離interval_width=9;%上下相鄰兩題填涂區(qū)域上邊線的距離length=11;%填涂區(qū)域的長(zhǎng)度width=6;%填涂區(qū)域的寬度a2=zeros(4,5);%初始化灰度值統(tǒng)計(jì)矩陣%第1-5題區(qū)域的檢測(cè)for P=1:4 for Q=1:5 %m=244;n=52;%第1-5題區(qū)域的檢測(cè)的起始坐標(biāo)(即第一題A選項(xiàng)左上角的坐標(biāo)) a1=result(m+(P-1)*(inte

10、rval_width+1) :m+(P-1)*(interval_width+1)+width,n+(Q-1)*(interval_length+1):n+(Q-1)*(interval_length+1)+length); %得到矩形區(qū)域內(nèi)各像素的灰度值 sum1=sum(sum(a1);%計(jì)算統(tǒng)計(jì)的矩形區(qū)域內(nèi)像素灰度值之和 a2(P,Q)=sum1;%多次循環(huán)后得到20個(gè)統(tǒng)計(jì)區(qū)域的灰度值,并依次放在a2矩陣中 endend a2(a2<80)=1;a2(a2>=81)=0;%對(duì)灰度值統(tǒng)計(jì)矩陣?yán)锏臄?shù)值進(jìn)行處理,大于某一閥值的值賦1,其余的賦0。 %在此程序中,涂黑則相應(yīng)數(shù)值為1。

11、result1_5=a2;%存儲(chǔ)1-5題的結(jié)果%第6-10題區(qū)域的檢測(cè)for P=1:4 for Q=1:5 a1=result(m+s*1+(P-1)*(interval_width+1) :m+s*1+(P-1)*(interval_width+1)+width,n+(Q-1)*(interval_length+1):n+(Q-1)*(interval_length+1)+length); sum1=sum(sum(a1); a2(P,Q)=sum1; endend a2(a2<80)=1;a2(a2>=81)=0;result6_10=a2; %存儲(chǔ)6-10題的結(jié)果%第11-

12、15題區(qū)域的檢測(cè)for P=1:4 for Q=1:5 a1=result(m+(P-1)*(interval_width+1) :m+(P-1)*(interval_width+1)+width,n+t*1+(Q-1)*(interval_length+1):n+t*1+(Q-1)*(interval_length+1)+length); sum1=sum(sum(a1); a2(P,Q)=sum1; endend a2(a2<80)=1;a2(a2>=81)=0;result11_15=a2; %存儲(chǔ)11-15題的結(jié)果%第16-20題區(qū)域的檢測(cè)for P=1:4 for Q=1

13、:5 a1=result(m+s*1+(P-1)*(interval_width+1) :m+s*1+(P-1)*(interval_width+1)+width,n+t*1+(Q-1)*(interval_length+1):n+t*1+(Q-1)*(interval_length+1)+length); sum1=sum(sum(a1); a2(P,Q)=sum1; endend a2(a2<80)=1;a2(a2>=81)=0;result16_20=a2; %存儲(chǔ)16-20題的結(jié)果%第21-25題區(qū)域的檢測(cè)for P=1:4 for Q=1:5 a1=result(m+s*

14、2+(P-1)*(interval_width+1) :m+s*2+(P-1)*(interval_width+1)+width,n+t*1+(Q-1)*(interval_length+1):n+t*1+(Q-1)*(interval_length+1)+length); sum1=sum(sum(a1); a2(P,Q)=sum1; endend a2(a2<80)=1;a2(a2>=81)=0;result21_25=a2; %存儲(chǔ)21-25題的結(jié)果%第26-30題區(qū)域的檢測(cè)for P=1:4 for Q=1:5 a1=result(m+s*3+(P-1)*(interval

15、_width+1) :m+s*3+(P-1)*(interval_width+1)+width,n+t*1+(Q-1)*(interval_length+1):n+t*1+(Q-1)*(interval_length+1)+length); sum1=sum(sum(a1); a2(P,Q)=sum1; endend a2(a2<80)=1;a2(a2>=81)=0;result26_30=a2; %存儲(chǔ)26-30題的結(jié)果%第31-35題區(qū)域的檢測(cè)for P=1:4 for Q=1:5 a1=result(m+s*4+(P-1)*(interval_width+1) :m+s*4+

16、(P-1)*(interval_width+1)+width,n+t*1+(Q-1)*(interval_length+1):n+t*1+(Q-1)*(interval_length+1)+length); sum1=sum(sum(a1); a2(P,Q)=sum1; endend a2(a2<80)=1;a2(a2>=81)=0;result31_35=a2; %存儲(chǔ)31-35題的結(jié)果answer=result1_5,result6_10,result11_15,result16_20,result21_25,result26_30,result31_35;%將所檢測(cè)的7個(gè)區(qū)域

17、的結(jié)果匯總dlmwrite('Result.txt',answer);%以txt文本的形式輸出結(jié)果矩陣disp(answer);%在command窗口實(shí)時(shí)顯示結(jié)果%附加一個(gè)統(tǒng)計(jì)錯(cuò)誤的并顯示分?jǐn)?shù)的部分,假定正確答案是35個(gè)CT=zeros(4,35);%初始化矩陣T(1,:)=1;%設(shè)定正確答案的參數(shù)mark1=answer-T;wrongx=sum(mark1=0);%當(dāng)結(jié)果選錯(cuò)時(shí),每一列將分別多一個(gè)1與-1。選擇正確時(shí),此列都是0。A=sum(sum(wrongx);%統(tǒng)計(jì)非零的結(jié)果。wrong=A/2;%由于-1與1是成對(duì)出現(xiàn)的,所以需要將上一步所得結(jié)果除以2.score=

18、35-wrong;%算出結(jié)果fprintf('選擇題得分為%d',score);%在command窗口輸出成績(jī)四、模塊測(cè)試與分析1、首先進(jìn)行Hough變換,得到Hough變換矩陣如下所述(見(jiàn)圖1)。圖1可以觀察到2個(gè)峰值。2、使用Houghlines函數(shù)檢測(cè)直線,得到如下結(jié)果(見(jiàn)圖2)圖2并使用lines.theta語(yǔ)句得到直線角度,即為圖像傾斜角度。x=lines.theta x =43、修正圖像(如圖3所示)圖3這時(shí)觀察到傾斜的圖像已經(jīng)得到改正。4、在二值化后使用像素檢索技術(shù)對(duì)灰度值進(jìn)行統(tǒng)計(jì)。分為7個(gè)掃描區(qū)域,如圖4中7個(gè)方框所示。圖45、進(jìn)行灰度統(tǒng)計(jì),得到結(jié)果矩陣。最后處理由fprintf語(yǔ)句得到分?jǐn)?shù)。五、測(cè)試與調(diào)試過(guò)程這次實(shí)驗(yàn)遇到的第一個(gè)問(wèn)題是如何由Hough變換得到直線角度。這個(gè)是教材上沒(méi)有的。網(wǎng)上提示說(shuō)是調(diào)用lines函數(shù),但沒(méi)有說(shuō)怎么調(diào)用。后來(lái)才從一篇Hough變換的文章中知道是lines.theta,類似于C#的調(diào)用方法。還有就是在本次設(shè)計(jì)中我第一次是將旋轉(zhuǎn)部分和灰度值統(tǒng)計(jì)部分分開(kāi)寫成2個(gè)m文件的,然后再直接合并,結(jié)果發(fā)現(xiàn)有誤。經(jīng)過(guò)檢查后發(fā)現(xiàn)matlab在讀取圖片時(shí)會(huì)在原圖片外加一圈白色“幕布”,導(dǎo)致原圖片的

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論