freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

復(fù)雜背景下二維條碼圖像的研究識別論文(參考版)

2025-06-29 11:19本頁面
  

【正文】 xy_long1 = [lines(k).point1 。for k = 1:length(lines) len = norm(lines(k).point1 lines(k).point2)。% 提取Hough變換后參數(shù)平面上的峰值點 lines = houghlines(bw1,T,R,P)。,)。,39。[H,T,R] = hough(bw1,39。復(fù)雜背景中二維條碼圖像的識別研究 28figure。sobel39。%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%bw=1A。%使用imcrop() 函數(shù),figure。cmin=min(c1)。cmax=min(1*c1)。 endend%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%提取二維條碼區(qū)域[r1,c1]=find(L==indMax)。 % 找出編號為k的連通區(qū)的行索引集合 y和列索引集合x nSize = length(y) % 計算該連通區(qū)中的像素數(shù)目 if(nSize max) max = nSize。 % 當(dāng)前最大連通分量的大小indMax = 0。%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%確定最大連通區(qū)域[L,num] = bwlabel(IM2,8)。figure。SE2=ones(30,30)。figure。SE1=ones(8,8)。imshow(BW)。endendresultBW = im2bw(a,1result/255)。復(fù)雜背景中二維條碼圖像的識別研究 27if ritemprimax rimax=ritemp。else u1=0。 for i=1:256 totalpels=totalpels+i*g(i)。%求目標(biāo)的概率和均值w1=1w0。endw0=count/size1。%求背景的概率和均值 for loop=1:level count=count+g(loop)。endfor level=1:256 count=0。rimax=0。%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%otSu算法確定全局自適應(yīng)閾值g=imhist(a)。figure。%level=graythresh(a)。,[3,3],1),I1)/255。%%%%%%%%%%%%%%%%%%%%%%%%%%濾波I1=filter2(fspecial(39。subplot(2,2,2)。figure。)。,39。A=imread(39。Matlab 源代碼如下:clear all。復(fù)雜背景中二維條碼圖像的識別研究 244 Matlab 實驗結(jié)果分析 DM 碼識別根據(jù)前面章節(jié)的算法,選用了最優(yōu)的算法對圖像進(jìn)行了操作。其次,是對圖像的旋轉(zhuǎn)校正,其中使用了雙線性插值法,以防止圖像旋轉(zhuǎn)過程之中出現(xiàn)的幾何失真;對于 DM 條碼可能出現(xiàn)的傾斜位置,計算出具體的旋轉(zhuǎn)角度。圖 311精確裁剪是這樣做的,找到圖像中所有的黑點,并且記錄它的坐標(biāo),然后在所有的黑點坐標(biāo)中,找到最大的橫縱坐標(biāo),最小的橫縱坐標(biāo),最后使用 imcrop 函數(shù)對其進(jìn)行裁剪,實際裁剪的效果如圖 312 所示:圖 312 本章小結(jié)本章中主要研究了圖像的精確定位,先對分割出的圖像進(jìn)行了邊緣檢測,并對各種邊緣檢測的算子進(jìn)行了比較,只有 sobel 算子,能夠很好的處理邊緣,并且用hough 變換對邊緣圖像進(jìn)行了直線檢測,驗證了只有才用 sobel 算子,才能準(zhǔn)確的確定出“L ”型。從上到下,從下到上,從左到右,從右到左,依此掃描圖像,碰到白色像素點之前,將所掃描到的黑色點的值全部置為/2復(fù)雜背景中二維條碼圖像的識別研究 231,使其變?yōu)榘咨?。雙三次插值的計算量很大,而最鄰近線性插值在 DM 碼旋轉(zhuǎn)校正方面又不夠好,因此我們這里采用雙線性插值,雙線性插值又稱為雙線性內(nèi)插,它的主要思想是在兩個方向分別進(jìn)行一次線性插值,在 matlab 中為該插值方法為 bilinear。圖像在旋轉(zhuǎn)的過程中會存在一些幾何失真,因此采用插值方法對其進(jìn)行校正。假設(shè)旋轉(zhuǎn)前圖像的中心坐標(biāo)為(x0,y0) ,旋轉(zhuǎn)后的中心坐標(biāo)為(x1,y1) ;則旋轉(zhuǎn)公式為: (39)01cosinxxyy???????????????上式中其中 為旋轉(zhuǎn)的角度,以逆時針正值為基準(zhǔn)。具體的旋轉(zhuǎn)過程的如圖 39 所示(a) (b)(c) (d)圖 39 DM 碼旋轉(zhuǎn)過程復(fù)雜背景中二維條碼圖像的識別研究 22以 DM 條碼逆時針旋轉(zhuǎn)為參考,設(shè)旋轉(zhuǎn)角度為 ,則有以下幾種情況:第一種情況:如圖 39(a)所示 x=x1,y=y1,此時的旋轉(zhuǎn)角度為: (35)第二種情況:如圖 39(b)所示 x=x1,y=y1,此時的旋轉(zhuǎn)角度為: (36)ang????第三種情況:如圖 39(c)所示 xx1,yy1,此時的旋轉(zhuǎn)角度為: (37)3/2第四種情況:如圖 39(d)所示 xx1,yy1,此時的旋轉(zhuǎn)角度為: (38)ang??DM 條碼出現(xiàn)傾斜的位置也只有以上四種情況,所以對判斷出的位置,計算出傾斜角度,從而對條碼進(jìn)行逆時針旋轉(zhuǎn),使其達(dá)到標(biāo)準(zhǔn)位置。具體的角度計算如下:第一步:在得到的兩條線段上,記錄四個端點的坐標(biāo),并且計算出兩條線段所在直線的斜率。 傾角計算實際采集到的條碼圖案都會有一定的傾斜角度,而使用一般的旋轉(zhuǎn)公式,只能保證 DM 碼保持水平,卻不能保證其處于標(biāo)準(zhǔn)位置,也就是“L”型位于水平的左復(fù)雜背景中二維條碼圖像的識別研究 21下角。使用 hough 變換,檢測到原 DM 條碼中的最長兩條最長線段也就是“L”型如圖 38 所示:圖 38 兩條最長線段檢測 圖像校正本節(jié)主要討論 DM 碼的校正。接著使用 lines = houghlines(BW, THETA, RHO, PEAKS)函數(shù)提取所有檢測到的線段。 Matlab 中的 Hough 變換根據(jù) hough 變換檢測直線的原理,Matlab 圖像處理工具箱提供了 hough 變換函數(shù):[H, THETA, RHO] = hough(BW,PARAM1,VAL1, PARAM2,VAL2),為了能夠準(zhǔn)確檢測出圖像中的直線,這里 BW 是經(jīng)過邊緣檢測后的二值圖像, PARAM1 為“ThetaResolution”,PARAM2 為“RhoResolution” ,VAL1 和 VAL2 的取值為 。而對于任意的點,通過它的直線是任意的,也就是 k 的取值為任意的,那么 b 就會受到圖像像素那點坐標(biāo)的以及斜率k 的限制,因此直線會使累加器的值變大,而對于邊緣上的,它們在圖像上找不到直線,所以對于邊緣直線,累加器很少被累加。所以參數(shù)空間也變?yōu)榱穗x散的,用矩形的單元表示,我們稱這個矩陣為累加矩陣,記為 A,元素記為 A(k,b)。 在原圖像中的所以可能被檢測到的直線,都可以通過邊緣檢測得到,而邊緣賦值超過閾值的像素都可以認(rèn)為是可能的直線像素。b,k 可以取任意值,這就表明同一方程可以理解為在參數(shù)空間的方程,所以通過該點的方程亦可以表示成: (32) 同樣通過另一點的直線在參數(shù)空間可以表示為: (33)那么在參數(shù)空間里的兩條直線的唯一公共點就是原圖像里連接兩點的唯一的直線,如圖 37 所示 y y=kx+b b b=kx2+y2B(x2,y2) A=( x1, y1) b=kx1+y1 x k圖 37 圖像空間與參數(shù)空間的直線這也就是說明,圖像空間里的每一條直線,在參數(shù)空間 k,b 里都有唯一確定的點與之對應(yīng),直線的任意一部分都變換為同一個點。下面只介紹檢測直線的方法。 Hough 變換線段檢測Hough 是用來檢測直線和曲線的,然而最初的方法需要知道圖像邊界線的解析式,但卻不需要有關(guān)區(qū)域的先驗知識。log 算子會對圖像形狀做過分的平滑,會明顯的丟失掉角點,而我們要檢測出“L”型角點很重要。Sobel 邊緣檢測算子的 3 3 模板為:? 圖 32 Sobel 算子 3X3 模板使用 Sobel 算子的實際效果如圖 34:圖 34 sobel 算子檢測出的邊緣 log 算子Log 算子是一種二階導(dǎo)數(shù)算子,由于二階導(dǎo)數(shù)過零點,其一可能對圖像形狀做過分的平滑,會明顯的丟失掉角點,其二它會產(chǎn)生環(huán)形邊緣的傾向,在很多的應(yīng)用中它會是個明顯的缺陷 Log 算子常用的模板如圖 35 所示:圖 35 log 算子的模板 使用 log 算子的實際效果如圖 36:圖 36 log 算子檢測出的邊緣 邊緣檢測算子的選取Robert 算子幾乎不能抑制噪聲,而且掩膜過于簡單; Sobel 算子有較好的處理結(jié)果,有一定的抑噪能力,并且是以 prewitt 算子為的基礎(chǔ)。圖 31 Roberts 算子采用 Robert 算子的效果圖如圖 32:圖 32 Roberts 算子檢測出的邊緣 Sobel 算子Sobel 算子是通常用于水平和垂直邊緣的一個簡單的檢測算子。由于它使用當(dāng)前像素的 22 鄰域,計算很簡單。邊緣檢測算子是一組用于在亮度函數(shù)中定位變化的非常重要的據(jù)圖圖像預(yù)處理的方法。邊緣檢測可以大幅度的減少數(shù)據(jù)量,并且剔除不相關(guān)信息,保留圖像重要的結(jié)構(gòu)屬性。完成條碼的定位,并且對定位后的圖像進(jìn)行旋轉(zhuǎn)校正,以及對旋轉(zhuǎn)后的圖像進(jìn)行修正,最后精確的提取 DM 條碼區(qū)域。對前面章節(jié)已經(jīng)分割出的 DM條碼圖像進(jìn)行邊緣檢測,獲得比較好的邊緣以助于直線檢測。在形態(tài)學(xué)操作方面,介紹了膨脹,腐蝕,開操作以及閉操作運算,而對于本課題只需要對二值化后的圖像進(jìn)行腐蝕和膨脹操作,就可以確定出最大連通分量,及時的分割出條碼區(qū)域,完成條碼的初定位,為后期的條碼定位打下基礎(chǔ)。使用 3X3 模板高斯二維濾波器,以及 3X3 模板的中值濾波器,很好的消除了噪聲干擾。圖 29 為根據(jù)最大連通分量在原二值圖中找出并分割出的條碼區(qū)域圖 29 分割出的條碼區(qū)域從圖上很明顯可以看出實際提取出的區(qū)域要比條碼區(qū)域大,這樣就防止了一些必要信息的丟失。在 matlab 圖像處理工具箱中提供了 [L num]=bwlabel(Ibw,conn)這個函數(shù),為我們尋找連通分量剩了不少步驟。從而可以從原二值圖像中提取出條碼區(qū)域。然后比較各連通分量的像素的數(shù)目,從而找出最大連通分量。確定了最大連通區(qū)域,也就初步確定了 DM 條碼所處的區(qū)域,從而將該區(qū)域分割出來。圖 210 最大連通分量提取連通分量指的就是二值圖像中某點及其鄰域像素值為 1(白點)的區(qū)域。圖 29 閉操作閉操作能夠把比結(jié)構(gòu)元素小的缺口和孔洞填上,使較短的間斷連接,它的主要作用是連通。B 對 A 開操作可以表示為: B 對 A 進(jìn)行開操作的含義是 的邊界通過 B 在 A 的邊界內(nèi)轉(zhuǎn)動時,B 中的點所能達(dá)到的 A 的邊界的最遠(yuǎn)點。B??????Bx?)?(|?復(fù)雜背景中二維條碼圖像的識別研究 15 開操作開操作能夠濾除比結(jié)構(gòu)元素小的突出物,斷開狹小的連接起到分離的作用。B 對 A 的膨脹過程如圖 27 所示圖 27 B 對 A 的膨脹Matlab 中 IM2= imdilate (IM1,SE) 是具體的二值圖像或灰度圖像的膨脹運算,其中 IM1 原始圖像,SE 為結(jié)構(gòu)元素,IM2 為膨脹后圖像通過數(shù)學(xué)形態(tài)學(xué)的腐蝕以及膨脹操作,就可以大致確定條碼的位置范圍。用 B 對 A 進(jìn)行膨脹寫作 ,定義為: 先對 B 做關(guān)于原點的反射,再將其平移 x,結(jié)果是平移后與 A 交集不為空的 x集合。 膨脹 膨脹是一種遞增運算,將與物體接觸的所有背景點合并到該物體中,使邊界向外部擴(kuò)張的過程。B 對 A 進(jìn)行腐蝕記作 ,定義為: B 對 A 腐蝕的過程如圖 25 所示:BA???ABxA??)(|復(fù)雜背景中二維條碼圖像的識別研究
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1