二維碼的生成與實(shí)現(xiàn)(matlab)_第1頁(yè)
二維碼的生成與實(shí)現(xiàn)(matlab)_第2頁(yè)
二維碼的生成與實(shí)現(xiàn)(matlab)_第3頁(yè)
二維碼的生成與實(shí)現(xiàn)(matlab)_第4頁(yè)
二維碼的生成與實(shí)現(xiàn)(matlab)_第5頁(yè)
已閱讀5頁(yè),還剩3頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、課程設(shè)計(jì)報(bào)告課題名稱(chēng): 二維碼的生成與識(shí)別 項(xiàng)目完成人(班級(jí)、學(xué)號(hào)、姓名): 項(xiàng)目完成時(shí)間: 2017/6/15 引言編寫(xiě)目的本學(xué)期學(xué)習(xí)數(shù)字圖像處理,包含很多知識(shí)點(diǎn),像:圖像編碼與壓縮、圖像相關(guān)變換、圖像增強(qiáng)技術(shù)、圖像復(fù)原技術(shù),這些知識(shí)點(diǎn)的應(yīng)用在實(shí)際編程中都非常重要。紙上得來(lái)終覺(jué)淺,絕知此事要躬行。所以,這次課程設(shè)噴計(jì)的目的主要就是鞏固所學(xué)噴的數(shù)字圖像處理的相關(guān)知識(shí)噴。最終是我們通過(guò)該教學(xué)環(huán)噴節(jié),把該課程以及相關(guān)知識(shí)噴融會(huì)貫通。背景由于受信息噴的容量限制,一維條碼僅僅噴是對(duì)“物品”的標(biāo)識(shí),而不噴是對(duì)“物品”的描述,故一倪維條碼的使用不得不依賴(lài)數(shù)倪據(jù)庫(kù)存在。在使用上受到了倪極大的限制,效率很低。

2、二倪維碼正是為了解決一維條碼倪無(wú)法解決的問(wèn)題而產(chǎn)生的。倪二維碼具有高密度、高可靠倪性等特點(diǎn),可以用來(lái)表示數(shù)倪據(jù)文件、圖像等,實(shí)現(xiàn)信息倪獲取、網(wǎng)站跳轉(zhuǎn)、廣告推送倪、手機(jī)電商、優(yōu)惠促銷(xiāo)、會(huì)倪員管理等功能,具有很強(qiáng)的添研究意義。參考資料數(shù)字添圖像處理第三版胡學(xué)龍?jiān)O(shè)添計(jì)方案圖像采集圖像主要來(lái)添自網(wǎng)上在線生成的二維碼圖陶像和該程序生成的二維碼圖示像。算法分析預(yù)處理過(guò)程示灰度化-平滑處示理-二值化1示.灰度化:一般都是為了減示小圖像原始數(shù)據(jù)量,便于后示續(xù)處理時(shí)計(jì)算量更少,因?yàn)橥蛨D像處理不一定需要對(duì)彩色屯圖像的RGB三個(gè)分量都進(jìn)屯行處理2.平滑處理:圖像屯平滑是指用于突出圖像的寬屯大區(qū)域、低頻成分、主干部屯

3、分或抑制圖像噪聲和干擾高屯頻成分,使圖像亮度平緩漸屯變,減小突變梯度,改善圖屯像質(zhì)量的圖像處理方法。圖屯像平滑的方法包括:插值方詳法,線性平滑方法,卷積法詳?shù)鹊?。這樣的處理方法根據(jù)詳圖像噪聲的不同進(jìn)行平滑,詳比如椒鹽噪聲,就采用線性詳平滑方法!3.二值化:圖詳像二值化就是將圖像上的像詳素點(diǎn)的灰度值設(shè)置為0或2詳55,也就是將整個(gè)圖像呈詳現(xiàn)出明顯的黑白效果。二維蓄碼解碼二維碼解碼主要使用蓄的是ZXing庫(kù),ZXi蓄ng是個(gè)很經(jīng)典的條碼/二蓄維碼識(shí)別的開(kāi)源類(lèi)庫(kù)代碼實(shí)蓄現(xiàn)打開(kāi)圖像functio竹npushbutton竹1_Callback(h竹Object, even竹tdata, handl竹es

4、)竹global竹im;filename竹,pathname=u詣igetfile(*詣.*;*.bmp;詣*.jpg;*.t詣if;*.jpg詣,選擇圖像);if詣isequal(file詣name,0)|ise魚(yú)qual(pathnam魚(yú)e,0)errord魚(yú)lg(您還沒(méi)有選取圖片魚(yú)!,溫馨提示);魚(yú)%如果沒(méi)有輸入,則創(chuàng)建錯(cuò)魚(yú)誤對(duì)話框 retur魚(yú)n;elsedis鄭p(User sel鄭ected,fullf鄭ile(pathname鄭,filename)鄭;fprintf(鄭fffffff%sn鄭,filename);皂im=imrea皂d(filename);皂%讀取圖像fig皂ur

5、eimsho皂w(im);%在坐標(biāo)ax皂es1顯示原圖像皂title(原始圖像裔);End灰度化處理f裔unctionpush裔button4_Call裔back(hObject裔, eventdata,裔handles)裔global im;gl鹽obal II;I=im鹽;w,h,l=siz鹽e(I);鹽%圖像大小淹II=;fori=繡1:h forj=繡1:wII(j,繡i)=0.3*I(j,i繡,1)+0.59*I(j繡,i,2)+0.11*I繡(j,i,3);%灰繡度化處理公式endend酗figure,imsho語(yǔ)w(II,)語(yǔ)語(yǔ)語(yǔ)%顯示語(yǔ)圖像title(二維碼語(yǔ)灰度化處理);平滑

6、處理語(yǔ)functionpus渝hbutton5_Cal渝lback(hObjec渝t, eventdata渝, handles)gl渝obal II;glob渝al I3;III=ui隅nt8(II);恿恿恿%圖像轉(zhuǎn)換0-25恿5Ix=imnoise(恿III,恿pepper,0.02鹽); %對(duì)灰度化圖鹽像人為加噪聲I3=med鹽filt2(Ix,3,鹽3);鹽鹽%平滑處理figur鹽eimshow(Ix)t嚴(yán)itle(二維碼加噪處臃理);figureim臃show(I3)titl臃e(二維碼平滑處理)臃;二值化處理functi臃onpushbutto哲n6_Callback(哲hObjec

7、t, eve哲ntdata, hand哲les)globalI哲3;globalI_o哲tsu;I_otsu=o哲tsut(I3);哲墟墟%二值化處理fig墟ureimshow(I_墟otsu,)titl墟e(二維碼二值化處理墟);旋轉(zhuǎn)校正functi帚onpushbutto帚n7_Callback(帚hObject, eve帚ntdata, hand帚les)帚globa帚l im; %傾斜校正繡:二值化,取邊繡緣,Hough變換得到角繡度,旋轉(zhuǎn)I=im;bw=繡rgb2gray(I);繡繡%rgb轉(zhuǎn)換繡為灰度圖bw=im2bw繡(I,graythres繡h(bw);蘊(yùn)%二值化過(guò)程 bw蘊(yùn)=

8、double(bw);蘊(yùn)BW=edge(bw,蘊(yùn)canny);蘊(yùn)%ca蘊(yùn)nny邊緣處理BW1=B蘊(yùn)W;figureimsh債ow(BW1);titl債e(canny 邊界圖債像); %顯示圖像債H,T,R=hough債(BW);figure,債imshow(H,債XData,T,Y貯Data,R,Ini貯tialMagnific貯ation,fit貯);xlabel(t貯heta),ylabe貯l(rho);ax貯ison, axis酗normal,hold酗on;P=houghpe酗aks(H,4,thr酗eshold,ceil酗(0.3*max(H(:酗);%houg酗h變化峰值檢測(cè)x=T

9、(P瘴(:,2); y =瘴R(P(:,1);pl瘴ot(x,y,s,瘴color,whit瘴e);lines=ho瘴ughlines(BW,瘴T,R,P,FillG唁ap,50,MinL唁ength,7);唁%hough檢測(cè)線段fi唁gure,imshow(唁BW),title(直唁線標(biāo)識(shí)圖像);max_唁len = 0;hold絞on;fork=1:絞length(lines絞)絞絞%主要絞把線條和點(diǎn)顯示出來(lái)錦xy=lines(k錦).point1;lin錦es(k).point2錦; % 標(biāo)出線段錦plot(xy(眷:,1),xy(:,2)眷,LineWidth眷,2,Color,眷gr

10、een);眷% 標(biāo)出線段的起始和終端匯點(diǎn)plot(xy匯(1,1),xy(1,2匯),x,LineW匯idth,2,Col匯or,yellow匯);plot(x技y(2,1),xy(2,技2),x,Line技Width,2,Co技lor,red);技len=nor技m(lines(k).p技o(jì)int1-lines(技k).point2);技Len(k)=le技n; if(le技nmax_len)技max_le技n=len;技xy_long=xy技; endend%薄強(qiáng)調(diào)最長(zhǎng)的部分plot薄(xy_long(:,1薄),xy_long(:,薄2),LineWidt薄h,2,Color薄,blue

11、);L1薄Index1=max薄(Len(:);% 最疲長(zhǎng)線段的起始和終止點(diǎn)x1疲=lines(Inde疲x1).point1(1疲) lines(Inde疲x1).point2(1疲);y1=lines疲(Index1).poi疲nt1(2) lines疲(Index1).poi廬nt2(2);% 求得廬線段的斜率K1=-(li廬nes(Index1).廬point1(2)-li廬nes(Index1).廬point2(2)/.廬.(lines廬(Index1).poi廬nt1(1)-lines瓊(Index1).poi瓊nt2(1)angle瓊=atan(K1)*18瓊0/pi瓊瓊瓊瓊%顯示角度A =瓊imrotate(I,-瓊angle,bilin慫ear);% imra慫te 是逆時(shí)針的所以取一慫個(gè)負(fù)號(hào)figure,im慫show(A);解碼fu慫nctionpushb慫utton3_Callb壟ack(hObject,壟eventdata,壟handles)glob壟alI_otsu;壟%global 定義全壟局變量globalim壟;global KL;g請(qǐng)lobalIjibia請(qǐng)n;I_jiema=Ij請(qǐng)ibian;I_jiem請(qǐng)a=I_otsu;%請(qǐng)二值I_jiema=KL請(qǐng);I_jiema=im;牟str=zxing_de牟c

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論