版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、圖像處理中的數(shù)學(xué)方法實(shí)驗(yàn)報(bào)告圖像處理中的數(shù)學(xué)方法實(shí)驗(yàn)報(bào)告學(xué)生姓名:趙芳舟教師姓名:曾理學(xué)院:數(shù)學(xué)與統(tǒng)計(jì)學(xué)院專業(yè):信息與計(jì)算科學(xué)學(xué)號:聯(lián)系方式:梯度和拉普拉斯算子在圖像邊緣檢測中的應(yīng)用一、數(shù)學(xué)方法邊緣檢測最通用的方法是檢測灰度值的不連續(xù)性,這種不連續(xù)性用一階和二階導(dǎo)數(shù)來檢測。(1)一階導(dǎo)數(shù):一階導(dǎo)數(shù)即為梯度,對于平面上的圖像來說,我們只需用到二維函數(shù)的梯度,即r?;l的梯度,即r?;lJ-J?該向量的幅值:訂H.|U|iI二L-卜.m:11為簡化計(jì)算,省略上式平方根,得到近似值工;或通過取絕對值來近似,得到:*:;-:二階導(dǎo)數(shù):二階導(dǎo)數(shù)通常用拉普拉斯算子來計(jì)算,由二階微分構(gòu)成:邊緣檢測的基本思想
2、:尋找灰度的一階導(dǎo)數(shù)的幅度大于某個(gè)指定閾值的位置;尋找灰度的二階導(dǎo)數(shù)有零交叉的位置。幾種方法簡介Sobel邊緣檢測器:以差分來代替一階導(dǎo)數(shù)。Sobel邊緣檢測器使用一個(gè)3X3鄰域的行和列之間的離散差來計(jì)算梯度,其中,每行或每列的中心像素用2來加權(quán),以提供平滑效果。?f二sl+曲嚴(yán)I2=I+zJ+(7;+e)-G+加+門?2-1-21000121-101-202-101(2)Prewitt邊緣檢測器:使用下圖所示模板來數(shù)字化地近似一階導(dǎo)數(shù)。與Sobel檢測器相比,計(jì)算上簡單一些,但產(chǎn)生的結(jié)果中噪聲可能會(huì)稍微大一些。駅一(工卩+)一(曠+沁+Z)加一(工,+厶+i)-(山-i.|-苛)-1-1-1
3、000111-101-101-101(3)Roberts邊緣檢測器:使用下圖所示模板來數(shù)字化地將一階導(dǎo)數(shù)近似為相鄰像素之間的差,它與前述檢測器相比功能有限(非對稱,且不能檢測多種45。倍數(shù)的邊緣)。S-羽一岳比-先一劉(4)Laplace邊緣檢測器:?-rx-.二維函數(shù).:、(4)Laplace邊緣檢測器:?-rxrobertThreshold)newGrayPic(j,k)=255;elsenewGrayPic(j,k)=0;endendendsubplot(l,2,l);imshow(sourcePic);titl原圖);subplot(l,2,2);imshow(newGrayPic);
4、titlRobert算子處理后圖像);Prewitt邊緣檢測clear;sourcePic二imreadC:Users34899Desktop);%讀取原圖像grayPic二mat2gray(sourcePic)%實(shí)現(xiàn)圖像矩陣的歸一化操作m,n=size(grayPic);newGrayPic二grayPic%為保留圖像的邊緣一個(gè)像素PrewittNum=0%經(jīng)Prewitt算子計(jì)算得到的每個(gè)像素的值PrewittThreshold=%設(shè)定閾值forj=2:m-1%進(jìn)行邊界提取fork=2:n-1PrewittNum=abs(grayPic(j-1,k+1)-grayPic(j+1,k+1)+
5、grayPic(j-1,k)-grayPic(j+1,k)+grayPic(j-1,k-1)-grayPic(j+1,k-1)+abs(grayPic(j-1,k+1)+grayPic(j,k+1)+grayPic(j+1,k+1)-grayPic(j-1,k-1)-grayPic(j,k-1)-grayPic(j+1,k-1);if(PrewittNumPrewittThreshold)newGrayPic(j,k)=255;elsenewGrayPic(j,k)=0;endendendsubplot(l,2,l);imshow(sourcePic);titl原圖);subplot(l,2,
6、2);imshow(newGrayPic);titlPrewitt算子處理后圖像);Sobel邊緣檢測clearall;closeall;imag=imread(C:Users34899Desktop);%讀取關(guān)鍵幀imag=rgb2gray(imag);%轉(zhuǎn)化為灰度圖subplot(l,2,l);imshow(imag);title(原圖);high,width=size(imag);%獲得圖像的高度和寬度F2=double(imag);U=double(imag);uSobel=imag;fori=2:high-1%sobel邊緣檢測forj=2:width-1Gx=(U(i+1,j-1)
7、+2*U(i+1,j)+F2(i+1,j+1)-(U(i-1,j-1)+2*U(i-1,j)+F2(i-1,j+1);Gy=(U(i-1,j+1)+2*U(i,j+1)+F2(i+1,j+1)-(U(i-1,j-1)+2*U(i,j-1)+F2(i+1,j-1);uSobel(i,j)=sqrt(Gx2+Gy2);endendsubplot(l,2,2);imshow(im2uint8(uSobel):title(Sobel邊緣檢測后);Laplace邊緣檢測主函數(shù):f=imread(C:Users34899Desktop)fGray=rgb2gray(f);figure()imshow(fG
8、ray),title(灰度圖像);fGray=double(fGray);T=60;LapModType=8%設(shè)置laplace模板方式fLapEdge=LaplaceEdge(fGray,LapModType,T);fGrayLapEdge=uint8(fLapEdge);figure()imshow(fLapEdge),title(laplace邊緣圖像);四鄰域算子和八鄰域算子functionfLapEdge=LaplaceEdge(fGray,MoldType,Thresh)%參-數(shù)介紹%輸入?yún)?shù):%fGray輸入的灰度圖像%MoldType模板類型,包括四鄰域和八鄰域%Thresh邊
9、緣檢測閾值%輸出參數(shù):%fEdge邊緣像素點(diǎn),存儲(chǔ)的是二值化圖像r,c=size(fGray);fLapEdge=zeros(r,c);%四鄰域拉普拉斯邊緣檢測算子if4=MoldTypefori=2:r-1forj=2:c-1Temp=-4*fGray(i,j)+fGray(i-1,j)+fGray(i+1,j)+fGray(i,j-1)+fGray(i,j+1);ifTempThreshfLapEdge(i,j)=255;elsefLapEdge(i,j)=0;endendendend%八鄰域拉普拉斯邊緣檢測算子if8=MoldTypefori=2:r-1forj=2:c-1Temp=-8
10、*fGray(i,j)+fGray(i-1,j)+fGray(i+1,j)+fGray(i,j-1)+fGray(i,j+1)+fGray(i-1,j-1)+fGray(i+1,j+1)+fGray(i+1,j-1)+fGray(i-1,j+1);ifTempThreshfLapEdge(i,j)=255;elsefLapEdge(i,j)=0;endendendEnd拉普拉斯高斯檢測器clc;clearall;closeall;hsize=55;sigma=;h=fspecial(log,hsize,sigma);I=imread(C:Users34899Desktop);bw=imfilt
11、er(I,h,replicate);figure;subplot(l,2,1);imshow(I,);title(原圖像,F(xiàn)ontWeight,Bold);subplot(1,2,2);imshow(bw,);title(邊緣圖像,F(xiàn)ontWeight,Bold);Canny算子tic%記錄CPU使用時(shí)間,開始計(jì)時(shí)I=imread(C:Users34899Desktop);%讀入圖像I=rgb2gray(I);%轉(zhuǎn)化為灰色圖像%figure,imshow(I);title(原圖)%顯示原圖像%a=im2single(I);%將圖像矩陣轉(zhuǎn)換為單精度類型%a=im2uint8(a);%將圖像矩陣轉(zhuǎn)
12、換為8位無符號整數(shù)類型%I=uint16(I);%8位無符號整數(shù)轉(zhuǎn)化為16位無符號整數(shù)%*matlab的高斯平滑*row,line=size(I);%行列temp=zeros(row+8,line+8);%申請空間imagedata=zeros(row,line);%申請空間%高斯核計(jì)算,核大小為9*9GaussianDieOff=.0001;sigma=1;pw=1:30;%possiblewidthsssq=sigma2;width=find(exp(-(pw.*pw)/(2*ssq)GaussianDieOff,1,last);ifisempty(width)width=1;%theus
13、erenteredareallysmallsigmaendt=(-width:width);gau=exp(-(t.*t)/(2*ssq)/(2*pi*ssq);kernel=gau*gau;%高斯核,大小為9*9kernel=im2single(kernel);%圖像邊緣復(fù)制forq=5:row+4%首先載入源圖像信息forp=5:line+4temp(q,p)=I(q-4,p-4);endendforq=l:row+8%復(fù)制列5:line+4forp=5:line+4if(qrow+4)temp(q,p)=temp(row+4,p);endendendforq=1:row+8%復(fù)制行1:r
14、ow+8forp=1:line+8if(pline+4)temp(q,p)=temp(q,line+4);endendendforq=1:row%高斯卷積forp=1:lineforn=1:9form=1:9imagedata(q,p)=imagedata(q,p)+kernel(n,m)*temp(q+n-1,p+m-1);endendendend%*matlab的高斯平滑說明結(jié)束*%*matlab求梯度*dx=zeros(size(I);%申請空間,存放x方向的幅值dy=zeros(size(I);%申請空間,存放y方向的幅值x,y=meshgrid(-width:width,-width
15、:width);dgau2D=-x.*exp(-(x.*x+y.*y)/(2*ssq)/(pi*ssq);%核%圖像邊緣復(fù)制forq=5:row+4%首先載入源圖像信息forp=5:line+4temp(q,p)=imagedata(q-4,p-4);endendforq=l:row+8%復(fù)制列5:line+4forp=5:line+4if(qrow+4)temp(q,p)=temp(row+4,p);endendendforq=1:row+8%復(fù)制行1:row+8forp=1:line+8if(pline+4)temp(q,p)=temp(q,line+4);endendendforq=l:
16、row%x方向卷積forp=1:lineforn=1:9form=1:9dx(q,p)=dx(q,p)+dgau2D(n,m)*temp(q+n-1,p+m-1);endendendenddgau2D=dgau2D;forq=l:row%y方向卷積forp=1:lineforn=1:9form=1:9dy(q,p)=dy(q,p)+dgau2D(n,m)*temp(q+n-1,p+m-1);endendendend*matlab求梯度結(jié)束*%*自適應(yīng)閾值計(jì)算*value=sqrt(dx.2+dy.2);%幅值value=double(value);value=value/max(max(val
17、ue);%歸一化temp_value=value;counts=imhist(value,64);high_threshold=find(cumsum(counts)*row*line,1,first)/64;low_threshold=*high_threshold;%低閾值clearcounts%*自適應(yīng)閾值計(jì)算結(jié)束*%*方向與閾值判別*num=0;%當(dāng)前堆棧個(gè)數(shù)flag=zeros(80000,2);%堆棧temp_flag=zeros(80000,2);%臨時(shí)堆棧imagedata=zeros(row,line);%初始化%方向:%0為045%1為4590%2為90135%3為1351
18、80direction=zeros(size(I);%申請空間,存放小于高閾值而大于低閾值forq=2:row-1forp=2:line-1if(dy(q,p)-dy(q,p)|(dy(q,p)=0&dx(q,p)0&-dy(q,p)=dx(q,p)|(dx(q,p)0&-dy(q,p)=dx(q,p)d=abs(dx(q,p)/dy(q,p);%4590方向gradmag=temp_value(q,p);gradmag1=temp_value(q-1,p)*(1-d)+temp_value(q-1,p+1)*d;gradmag2=temp_value(q+1,p)*(1-d)+temp_va
19、lue(q+1,p-1)*d;elseif(dx(q,p)dy(q,p)|(dx(q,p)=0&dx(q,p)dy(q,p)d=abs(dx(q,p)/dy(q,p);%90135方向gradmag=temp_value(q,p);gradmag1=temp_value(q-1,p)*(1-d)+temp_value(q-1,p-1)*d;gradmag2=temp_value(q+1,p)*(1-d)+temp_value(q+1,p+1)*d;elseif(dy(q,p)0&dx(q,p)0&dx(q,p)=dy(q,p)d=abs(dy(q,p)/dx(q,p);%135180方向gra
20、dmag=temp_value(q,p);gradmag1=temp_value(q,p-1)*(1-d)+temp_value(q-1,p-1)*d;gradmag2=temp_value(q,p+1)*(1-d)+temp_value(q+1,p+1)*d;endif(gradmag=gradmag1&gradmag=gradmag2)if(gradmag=high_threshold)%高閾值判別value(q,p)=255;elseif(gradmag=low_threshold)%低閾值判別value(q,p)=125;elsevalue(q,p)=0;%小于低閾值endelseva
21、lue(q,p)=0;%非極大值抑制endendendforq=2:row-1%高閾值判別,檢查高閾值鄰域8個(gè)方向范圍內(nèi)是否存在低閾值forp=2:line-1if(value(q,p)=255)imagedata(q,p)=255;if(value(q-1,p-1)=125)value(q-1,p-1)=255;imagedata(q-1,p-1)=255;if(q-11)&(p-11)num=num+1;flag(num,1)=q-1;flag(num,2)=p-1;endendif(value(q-1,p)=125)value(q-1,p)=255;imagedata(q-1,p)=25
22、5;if(q-11)num=num+1;flag(num,1)=q-1;flag(num,2)=p;endendif(value(q-1,p+1)=125)value(q-1,p+1)=255;imagedata(q-1,p+1)=255;if(q-11)&(p+11)num=num+1;flag(num,1)=q;flag(num,2)=p-1;endendif(value(q,p+1)=125)value(q,p+1)=255;imagedata(q,p+1)=255;if(p+1line)num=num+1;flag(num,1)=q;flag(num,2)=p+1;endendif(v
23、alue(q+1,p-1)=125)value(q+1,p-1)=255;imagedata(q+1,p-1)=255;if(q+11)num=num+1;flag(num,1)=q+1;flag(num,2)=p-1;endendif(value(q+1,p)=125)value(q+1,p)=255;imagedata(q+1,p)=255;if(q+1row)num=num+1;flag(num,1)=q+1;flag(num,2)=p;endendif(value(q+1,p+1)=125)value(q+1,p+1)=255;imagedata(q+1,p+1)=255;if(q+1
24、row)&(p+11)&(p-11)num=num+1;temp_flag(num,1)=q-1;temp_flag(num,2)=p-1;endendif(value(q-1,p)=125)value(q-1,p)=255;imagedata(q-1,p)=255;if(q-11)num=num+1;temp_flag(num,1)=q-1;temp_flag(num,2)=p;endendif(value(q-1,p+1)=125)value(q-1,p+1)=255;imagedata(q-1,p+1)=255;if(q-11)&(p+11)num=num+1;temp_flag(num
25、,1)=q;temp_flag(num,2)=p-1;endendif(value(q,p+1)=125)value(q,p+1)=255;imagedata(q,p+1)=255;if(p+1line)num=num+1;temp_flag(num,1)=q;temp_flag(num,2)=p+1;endendif(value(q+1,p-1)=125)value(q+1,p-1)=255;imagedata(q+1,p-1)=255;if(q+11)num=num+1;temp_flag(num,1)=q+1;temp_flag(num,2)=p-1;endendif(value(q+1
26、,p)=125)value(q+1,p)=255;imagedata(q+1,p)=255;if(q+1row)num=num+1;temp_flag(num,1)=q+1;temp_flag(num,2)=p;endendif(value(q+1,p+1)=125)value(q+1,p+1)=255;imagedata(q+1,p+1)=255;if(q+1row)&(p+1robertThreshold)I2(j,k)=255;elseI2(j,k)=0;endendendfigure(3),imshow(I2);title(Roberts算子檢測后圖像);se=1;1;1;I3=ime
27、rode(I2,se);figure(4),imshow(I3);title(腐蝕后圖像);se=strel(rectangle,25,25);I4=imclose(I3,se);figure(5),imshow(I4);title(平滑圖像的輪廓);I5=bwareaopen(I4,2000);%figure(6),mesh(I5);title(從對象中移除小對象);y,x,z=size(I5);myI=double(I5);ticBlue_y=zeros(y,1);fori=1:yforj=1:xif(myI(i,j,1)=1)Blue_y(i,l)=Blue_y(i,l)+1;%藍(lán)色像素
28、點(diǎn)統(tǒng)計(jì)endendendtempMaxY=max(Blue_y);%Y方向車牌區(qū)域確定PY1=MaxY;while(Blue_y(PY1,1)=5)&(PY11)PY1=PY1-1;endPY2=MaxY;while(Blue_y(PY2,1)=5)&(PY2y)PY2=PY2+1;endIY=I(PY1:PY2,:,:);%X方向%Blue_x=zeros(l,x);%進(jìn)一步確定x方向的車牌區(qū)域forj=1:xfori=PY1:PY2if(myI(i,j,1)=1)Blue_x(1,j)=Blue_x(1,j)+1;endendendPX1=1;while(Blue_x(1,PX1)3)&(PX1x)PX1=PX1+1;endPX2=x;while(Blue_x(1,PX2)PX
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 幼兒園保育員知識競賽題庫及答案詳解
- 2024某汽車公司與某保險(xiǎn)公司之間關(guān)于車輛保險(xiǎn)服務(wù)的合同
- 一建建設(shè)工程項(xiàng)目管理合同計(jì)價(jià)方式
- 2024年規(guī)范的短期借款協(xié)議樣式版B版
- 2024標(biāo)準(zhǔn)的貨物運(yùn)輸合同范本
- 2024政府合作開發(fā)城市公共交通樞紐合同3篇
- 2024正規(guī)版勞務(wù)分包商協(xié)議條款一
- 2024年車友會(huì)會(huì)員資格轉(zhuǎn)讓協(xié)議書
- 2024機(jī)械設(shè)備運(yùn)輸合同范本
- 2024有房貸財(cái)產(chǎn)分割離婚協(xié)議書專業(yè)版3篇
- 服裝板房管理制度
- 醫(yī)療技術(shù)臨床應(yīng)用管理檔案(姓名+工號)
- 機(jī)加工工作計(jì)劃安排
- 習(xí)慣性違章培訓(xùn)
- 河北省石家莊市橋西區(qū)2022-2023學(xué)年七年級上學(xué)期期末地理試卷
- 河北省興隆縣盛嘉恒信礦業(yè)有限公司李杖子硅石礦礦山地質(zhì)環(huán)境保護(hù)與治理恢復(fù)方案
- 第七章力與運(yùn)動(dòng)第八章壓強(qiáng)第九章浮力綜合檢測題(一)-2023-2024學(xué)年滬科版物理八年級下學(xué)期
- 《工程造價(jià)管理 第2版》 課件 第一章 工程造價(jià)管理概論
- 中國郵政儲(chǔ)蓄銀行員工違規(guī)行為處理辦法
- 2023年長沙市中考數(shù)學(xué)真題試卷及答案
- 《電力設(shè)備消防典型準(zhǔn)則》(DL5027-2022)
評論
0/150
提交評論