Matlab數(shù)字圖像處理PPT_第1頁
Matlab數(shù)字圖像處理PPT_第2頁
Matlab數(shù)字圖像處理PPT_第3頁
Matlab數(shù)字圖像處理PPT_第4頁
Matlab數(shù)字圖像處理PPT_第5頁
已閱讀5頁,還剩60頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

Matlab數(shù)字圖像處理2021/7/131/1、圖像的讀取和顯示/2、圖像的點運算/4、空間域圖像增強/5、頻率域圖像增強/6、彩色圖像處理/7、形態(tài)學圖像處理/8、圖像分割/9、特征提取內(nèi)容安排/3、圖像的幾何變換2021/7/132/1、圖像的讀取和顯示一、圖像的讀取A=imread(FILENAME,FMT)FILENAME指定圖像文件的完整路徑和文件名。如果在work工作目錄下只需提供文件名。FMT為圖像文件的格式對應的標準擴展名。I_1=imread('D:\10.06.08nir\TTC10377.BMP');%讀入圖像二、圖像的寫入imwrite(A,F(xiàn)ILENAME,FMT)FILENAME參數(shù)指定文件名。FMT為保存文件采用的格式。imwrite(I6,'nirdilatedisk2TTC10373.bmp');2021/7/133/1、圖像的讀取和顯示三、圖像的顯示imshow(I,[lowhigh])I為要顯示的圖像矩陣。[lowhigh]為指定顯示灰度圖像的灰度范圍。高于high的像素被顯示成白色;低于low的像素被顯示成黑色;介于High和low之間的像素被按比例拉伸后顯示為各種等級的灰色。

figure;imshow(I6);title('TheMainPassPartofTTC10373');figure;%創(chuàng)建一個新的窗口figure;subplot(m,n,p);imshow(I);Subplot(m,n,p)含義為:打開一個有m行n列圖像位置的窗口,并將焦點位于第p個位置上。2021/7/134/1、圖像的讀取和顯示四、圖像的格式轉(zhuǎn)換im2bw(I,LEVEL);rgb2gray;從RGB圖創(chuàng)建灰度圖,存儲類型不變。im2uint8將圖像轉(zhuǎn)換成uint8類型閾值法從灰度圖、RGB圖創(chuàng)建二值圖。LEVEL為指定的閾值;(0,1)。im2double將圖像轉(zhuǎn)換成double類型2021/7/135/2、圖像的點運算灰度直方圖描述了一副圖像的灰度級統(tǒng)計信息,主要應用于圖像分割和圖像灰度變換等處理過程中。從數(shù)學角度來說,圖像直方圖描述圖像各個灰度級的統(tǒng)計特性,它是圖像灰度值的函數(shù),統(tǒng)計一幅圖像中各個灰度級出現(xiàn)的次數(shù)或概率。歸一化直方圖可以直接反映不同灰度級出現(xiàn)的比率。橫坐標為圖像中各個像素點的灰度級別,縱坐標表示具有各個灰度級別的像素在圖像中出現(xiàn)的次數(shù)或概率。imhist(I);%灰度直方圖I=imread(‘red.bmp’);%讀入圖像

figure;%打開新窗口[M,N]=size(I);%計算圖像大小[counts,x]=imhist(I,32);%計算有32個小區(qū)間的灰度直方圖counts=counts/M/N;%計算歸一化灰度直方圖各區(qū)間的值stem(x,counts);%繪制歸一化直方圖一、圖像直方圖圖像直方圖歸一化2021/7/1362021/7/137/2、圖像的點運算二、灰度的線性變換Fa>1時,輸出圖像的對比度將增大;Fa<1時,輸出圖像對比度將減小。Fa=1且Fb非零時,所有像素的灰度值上移或下移,使整個圖像更暗或更亮。Fa<0,暗區(qū)變亮,亮區(qū)變暗。2021/7/1382021/7/1392021/7/1310/2、圖像的點運算三、灰度的對數(shù)變換c為尺度比例常數(shù),s為源灰度值,t為變換后的目標灰度值。k為常數(shù)。灰度的對數(shù)變換可以增強一幅圖像中較暗部分的細節(jié),可用來擴展被壓縮的高值圖像中的較暗像素。廣泛應用于頻譜圖像的顯示中。Warning:log函數(shù)會對輸入圖像矩陣s中的每個元素進行操作,但僅能處理double類型的矩陣。而從圖像文件中得到的圖像矩陣大多是uint8類型的,故需先進行im2double數(shù)據(jù)類型轉(zhuǎn)換。2021/7/1311I=imread('nir.bmp');%讀入圖像F=fft2(im2double(I));%FFTF=fftshift(F);%FFT頻譜平移F=abs(F);T=log(F+1);%頻譜對數(shù)變換figure;imshow(F,[]);title('未經(jīng)變換的頻譜');figure;imshow(T,[]);title('對數(shù)變換后');2021/7/1312/2、圖像的點運算三、灰度的Gamma變換其中,x、y的取值范圍為[0,1]。esp為補償系數(shù),r則為Gamma系數(shù)。Gamma變換是根據(jù)r的不同取值選擇性的增強低灰度區(qū)域的對比度或者高灰度區(qū)域的對比度。2021/7/1313J=imadjust(I,[low_inhigh_in],[low_outhigh_out],gamma)I=imread('nir.bmp');figure;imshow(imadjust(I,[],[],0.75));%gamma=0.5title('Gamma0.5');原NIR圖像Gamma0.52021/7/1314四、灰度閾值變換及二值化Gamma1.5T為指定閾值BW=im2bw(I,level);%level為人工設定閾值范圍為[0,1]thresh=graythresh(I);%自動設定所需的最優(yōu)化閾值2021/7/1315OTSU算法:最大類間方差法自動單閾值分割。Kapur算法:一維直方圖熵閾值算法niblack算法:局部閾值分割閾值的計算公式是T=m+k*v,其中m為以該像素點為中心的區(qū)域的平均灰度值,v是該區(qū)域的標準差,k是一個系數(shù)。kittlerMet:表示kittler最小分類錯誤(minimumerrorthresholding)全局二值化算法。

原圖像直接閾值分割0.252021/7/1316自動閾值分割OTSU算法分割KittlerMet算法Niblack算法Kapur算法2021/7/1317/2、圖像的點運算五、直方圖均衡化[J,T]=histeq(I);%J為輸出圖像,T為變換矩陣圖像易受光照、視角、方位、噪聲等的影響。使得同一類圖像的不同變形體之間的差距有時大于該類圖像與另一類圖像之間的差距,影響圖像識別、分類。圖像歸一化就是將圖像轉(zhuǎn)換到唯一的標準形式以抵抗各種變換,從而消除同類圖像不同變形體之間的外觀差異。也稱為圖像灰度歸一化。原圖像及直方圖2021/7/1318圖像變亮后灰度均衡化圖像變暗后灰度均衡化2021/7/1319/3、圖像的幾何變換一、圖像平移正變換逆變換strel%用來創(chuàng)建形態(tài)學結構元素translate(SE,[yx])%原結構元素SE上y和x方向平移imdilate%形態(tài)學膨脹2021/7/1320/3、圖像的幾何變換I=imread('nir.bmp');se=translate(strel(1),[180190]);B=imdilate(I,se);figure;subplot(1,2,1),subimage(I);title('原圖像');subplot(1,2,2),subimage(B);title('平移后圖像');2021/7/1321/3、圖像的幾何變換二、圖像鏡像B=imtransform(A,TFORM,method);TFORM=makeform(transformtype,Matrix);%空間變換結構Method合法值含義‘bicubic’雙三次插值‘bilinear’雙線性插值‘nearest’最近鄰插值參數(shù)transformtype指定了變換的類型,常見的’affine’為二維或多維仿射變換,包括平移、旋轉(zhuǎn)、比例、拉伸和錯切等。Matrix為相應的仿射變換矩陣。2021/7/1322A=imread('nir.bmp');[height,width,dim]=size(A);tform=maketform('affine',[-100;010;width01]);B=imtransform(A,tform,'nearest');tform2=maketform('affine',[100;0-10;0height1]);C=imtransform(A,tform2,'nearest');figure;imshow(A);figure;imshow(B);imwrite(B,'nir水平鏡像.bmp');figure;imshow(C);imwrite(B,'nir垂直鏡像.bmp');原圖像水平鏡像圖像垂直鏡像圖像2021/7/1323A=imread('nir.bmp');tform=maketform('affine',[010;100;001]);B=imtransform(A,tform,'nearest');figure;imshow(A);figure;imshow(B);imwrite(B,'nir轉(zhuǎn)置后圖像.bmp');/3、圖像的幾何變換三、圖像轉(zhuǎn)置2021/7/1324/3、圖像的幾何變換四、圖像中心旋轉(zhuǎn)B=imrotate(A,angle,method,’crop’);angle為旋轉(zhuǎn)角度,正值為逆時針旋轉(zhuǎn)。可選參數(shù)method為imrotate函數(shù)指定插值方法?!甤rop’選項會裁減旋轉(zhuǎn)后增大的圖像,保持和原圖像同樣大小。

A=imread('nir.bmp');B=imrotate(A,30,'nearest','crop');figure;imshow(B);imwrite(B,'逆時針中心旋轉(zhuǎn)30度.bmp');逆時針30度2021/7/1325/4、空間域圖像增強一、噪聲添加h=imnoise(I,type,parameters);type為噪聲類型,合法值如下:‘gaussian’高斯白噪聲:幅度為高斯分布,功率譜均勻分布‘salt&pepper’黑點如胡椒,白點如鹽粒。由圖像傳感器、傳輸信道、解碼處理、圖像切割等產(chǎn)生的黑白相間的亮暗點噪聲。添加高斯白噪聲添加椒鹽噪聲2021/7/1326/4、空間域圖像增強二、空間域濾波濾波過程就是在圖像f(x,y)中逐點移動模板,使模板中心和點(x,y)重合,濾波器在每一點(x,y)的響應是根據(jù)模板的具體內(nèi)容并通過預先定義的關系來計算的。W(-1,-1)W(-1,0)W(-1,1)W(0,-1)W(0,0)W(0,1)W(1,-1)W(1,0)W(1,1)f(x-1,y-1)f(x-1,y)f(x-1,y+1)f(x,y-1)f(x,y)f(x,y+1)f(x+1,y-1)f(x+1,y)f(x+1,y+1)2021/7/1327B=imfilter(f,w,option1,option2,…);f為要進行濾波操作的圖像。w為濾波操作使用的模板,為一個二維數(shù)組,可自己定義。option1……是可選項,包括:1、邊界選項(’symmetric’、’replicate’、’circular’)2、尺寸選項(’same’、’full’)3、模式選項(’corr’、’conv’)原圖像濾波后圖像2021/7/1328三、濾波器設計/4、空間域圖像增強h=fspecial(type,parameters)合法取值功能‘a(chǎn)verage’平均模板‘disk’圓形領域的平均模板‘gaussian’高斯模板‘laplacian’拉普拉斯模板‘log’高斯-拉普拉斯模板‘prewitt’Prewitt水平邊緣檢測算子‘sobel’Sobel水平邊緣檢測算子parameters為可選項,是和所選定的濾波器類型type相關的配置參數(shù),如尺寸和標準差等。type為濾波器的類型。其合法值如下:2021/7/1329/4、空間域圖像增強四、中值濾波h=medfilt2(I1,[m,n]);m和n為中值濾波處理的模板大小,默認3*3中值濾波本質(zhì)上是一種統(tǒng)計排序濾波器。中值不同于均值,是指排序隊列中位于中間位置的元素的值。中值濾波并非線性濾波器。對于某些類型的隨機噪聲具有非常理想的降噪能力。典型的應用就是消除椒鹽噪聲。2021/7/1330/4、空間域圖像增強五、圖像銳化圖像銳化主要用于增強圖像的灰度跳變部分,主要通過運算導數(shù)(梯度)或有限差分來實現(xiàn)。主要方法有:Robert交叉梯度,Sobel梯度,拉普拉斯算子,高提升濾波,高斯-拉普拉斯變換。Robert交叉梯度w1對接近正45°邊緣有較強響應,w2對接近負45°邊緣有較強響應。2021/7/1331Sobel交叉梯度對水平邊緣有較大響應對垂直邊緣有較大響應拉普拉斯算子2021/7/1332I=imread('nir.bmp');I=double(I);%雙精度化w1=[-10;01];w2=[0-1;10];G1=imfilter(I,w1,‘corr’,‘replicate’);%正45°梯度G2=imfilter(I,w2,‘corr’,‘replicate’);%負45°梯度G=abs(G1)+abs(G2);%計算Robert梯度figure;imshow(G,[]);figure;imshow(abs(G1),[]);figure;imshow(abs(G2),[]);Robert交叉梯度I=imread('nir.bmp');Id=double(I);%雙精度化h_1=fspecial('log',5,0.5);%大小為5,sigma=0.5的LOG算子I_1=imfilter(Id,h_1,'corr','replicate');figure;imshow(uint8(abs(I_1)),[]);h_2=fspecial('log',5,2);%大小為5,sigma=2的LOG算子I_2=imfilter(Id,h_2,'corr','replicate');figure;imshow(uint8(abs(I_2)),[]);高斯-拉普拉斯銳化2021/7/1333/5、頻率域圖像增強用傅里葉變換表示的函數(shù)特征可以完全通過傅里葉反變換進行重建而不丟失任何信息吉布斯現(xiàn)象Gibbsphenomenon(又叫吉布斯效應):將具有不連續(xù)點的周期函數(shù)(如矩形脈沖)進行傅立葉級數(shù)展開后,選取有限項進行合成。當選取的項數(shù)越多,在所合成的波形中出現(xiàn)的峰起越靠近原信號的不連續(xù)點。當選取的項數(shù)很大時,該峰起值趨于一個常數(shù),大約等于總跳變值的9%。這種現(xiàn)象稱為吉布斯現(xiàn)象。2021/7/1334幅度譜相位譜功率譜2021/7/1335一、傅里葉變換/5、頻率域圖像增強I=fft2(x);%快速傅里葉變換I=fft2(x,m,n);x為輸入圖像;m和n分別用于將x的第一和第二維規(guī)整到指定的長度。當m和n均為2的整數(shù)次冪時算法的執(zhí)行速度要比m和n均為素數(shù)時快。I1=abs(I);%計算I的幅度譜I2=angle(I);%計算I的相位譜Y=fftshift(I);%頻譜平移I=ifft2(x);%快速傅里葉逆變換I=ifft2(x,m,n);2021/7/1336幅度譜相位譜平移后的相位譜2021/7/1337functionout=imidealflpf(I,freq)%imidealflpf函數(shù)構造高斯頻域低通濾波器[M,N]=size(I);out=ones(M,N);fori=1:Mforj=1:Nif(sqrt(((i-M/2)^2+(j-N/2)^2))>freq)out(i,j)=0;endendend理想低通functionout=imgaussflpf(I,sigma)%imgaussflpf函數(shù)構造高斯頻域低通濾波器[M,N]=size(I);out=ones(M,N);fori=1:Mforj=1:Nout(i,j)=exp(-((i-M/2)^2+(j-N/2)^2)/2/sigma^2);endend高斯低通2021/7/1338/6、彩色圖像處理色彩模型:RGB模型、CMY模型、CMYK模型、HIS模型、HSV模型、YUV模型、YIQ模型。RGB模型國際照明委員會(CIE)規(guī)定以藍(435.8nm)、綠(546.1nm)和紅(700nm)作為主原色。2021/7/1339RGB_image=cat(3,PR,PG,PB);%將PR、PG、PB三個矩陣在第3個維度上進行級聯(lián),進行圖像合成PR=RGB_image(:,:,1);%提取紅色分量PG=RGB_image(:,:,2);%提取綠色分量PB=RGB_image(:,:,3);%提取藍色分量Matlab中一幅RGB圖像可表示為一個M*N*3的3維矩陣。其中每一個彩色像素都在特定空間位置的彩色圖像中對應紅、綠、藍3個分量。CMY模型CMY模型是采用(Cyan、Magenta、Yellow)青、品紅、黃色3中基本原色按一定比例合成顏色。由于色彩的顯示是由光線被物體吸收掉一部分之后反射回來的剩余光線產(chǎn)生,故CMY模型又稱為減色法混色模型。當光都被吸收時成為黑色,都被反射時為白色。2021/7/1340CMY模型主要用于彩色打印機和復印機等。CMYK模型CMY模型在實際使用中,青、品紅和黃色等比例混合后的黑色并不純,為產(chǎn)生真正的黑色,專門加入第四種顏色—黑色。得到CMYK模型。用于四色打印。cmy=imcomplement(rgb);%rgb轉(zhuǎn)成cmyrgb=imcomplement(cmy);cmy轉(zhuǎn)成rgb2021/7/1341HSI模型HIS模型是從人的視覺系統(tǒng)出發(fā),直接使用顏色三要素色調(diào)(Hue)、飽和度(Saturation)和亮度(Intensity)來描述顏色。亮度指人眼感覺光的明暗程度。光的能量越大,亮度越大。色調(diào)由物體反射光線中占優(yōu)勢的波長決定。反映顏色的本質(zhì)。飽和度指顏色的深淺和濃淡程度,飽和度越高,顏色越深。HIS色彩空間比RGB彩色空間更符合人的視覺特性。亮度和色度具有可分離特性,使得圖像處理和機器視覺中大量灰度處理算法都可在HIS彩色空間中方便使用。2021/7/1342色調(diào)強度飽和度其中2021/7/1343/7、形態(tài)學圖像處理一、二值圖像腐蝕I2=imerode(I,SE);SE=strel(shape,parameters);I為原始圖像,可以是二值或者灰度圖像。shape指定了結構元素的形狀。parameters是和輸入shape有關的參數(shù)。合法取值功能描述‘a(chǎn)rbitrary’或為空任意自定義結構元素‘disk’圓形結構元素‘square’正方形結構元素‘rectangle’矩形結構元素‘line’線性結構元素‘pair’包含2個點的結構元素‘diamond’菱形的結構元素‘octagon’8角形的結構元素2021/7/1344/7、形態(tài)學圖像處理二、二值圖像膨脹I2=imdilate(I,SE);SE=strel(shape,parameters);I為原始圖像,可以是二值或者灰度圖像。shape指定了結構元素的形狀。parameters是和輸入shape有關的參數(shù)。原圖像腐蝕后膨脹后2021/7/1345/7、形態(tài)學圖像處理三、其他二值圖像運算SE=strel(shape,parameters);I2=imopen(I,SE);%開運算I3=imclose(I,SE);%閉運算Ihm=bwhitmiss(I,SE1,SE2);%擊中擊不中變換四、連通分量提取[Lnum]=bwlabel(Ibw,conn);Ibw為一幅輸入二值圖像。conn為可選參數(shù),指明提取連通分量是4連通還是8連通。默認為8。L為連通分量標注圖像。num為二值圖像Ibw中連通分量個數(shù)。2021/7/1346/7、形態(tài)學圖像處理五、bwmorph函數(shù)Iout=bwmorph(I,operation,n)合法取值功能描述‘bridge’橋接有單個像素縫隙分割的前景像素‘clean’清楚孤立的前景像素‘diag’圍繞對角線相連的前景像素進行填充‘fill’填充單個像素的孔洞‘hbreak’去掉前景中的H形連接‘majority’如果點P的8領域中一半以上像素為前景像素,則P為前景像素,否則為背景?!畆emove’去除內(nèi)部像素(無背景像素相鄰的前景)‘shrink’將物體收縮為一個點或者帶洞的環(huán)形‘skel’骨骼化圖像‘spur’去除“毛刺”‘thicken’粗化物體‘thin’將物體細化至最低限度相連的線形2021/7/1347/7、形態(tài)學圖像處理六、頂帽變換解決非均勻光照問題。頂帽變換定義為圖像f與圖像f的開運算之差。a=imread('red.bmp');I=rgb2gray(a);figure,surf(double(I(1:8:end,1:8:end))),zlim([0255]),colormapgray;%顯示圖像I的三維可視化效果bg=imopen(I,strel(‘disk’,15));%開運算Itophat=imsubtract(I,bg);%頂帽變換figure,imshow(Itophat);figure,surf(double(Itophat(1:8:end,1:8:end))),zlim([0255]);I2=imadjust(Itophat);figure,imshow(I2);2021/7/1348原圖像三維可視化效果頂帽變換后的三維可視化效果頂帽變換后圖像對比度拉伸后效果2021/7/1349/8、圖像分割一、圖像分割概述圖像分割一般采用的方法有邊緣檢測(edgedetection)、邊界跟蹤(edgetracing)、區(qū)域生長(regiongrowing)、區(qū)域分離和聚合等。

圖像分割算法一般基于圖像灰度值的不連續(xù)性或其相似性。

不連續(xù)性是基于圖像灰度的不連續(xù)變化分割圖像,如針對圖像的邊緣有邊緣檢測、邊界跟蹤等算法。

相似性是依據(jù)事先制定的準則將圖像分割為相似的區(qū)域,如閾值分割、區(qū)域生長等。二、邊緣檢測圖像的邊緣點是指圖像中周圍像素灰度有階躍變化或屋頂變化的那些像素點,即灰度值導數(shù)較大或極大的地方。

邊緣檢測可以大幅度的減少數(shù)據(jù)量,并且剔除不相關信息,保留圖像重要的結構屬性。

邊緣檢測基本步驟:平滑濾波、銳化濾波、邊緣判定、邊緣連接。2021/7/1350邊緣檢測算法:基于一階導數(shù):Roberts算子、Sobel算子、Prewitt算子基于二階導數(shù):高斯-拉普拉斯邊緣檢測算子Canny邊緣檢測算法Matlab實現(xiàn)1)、基于梯度算子的邊緣檢測BW=edge(I,type,thresh,direction,’nothinning’)type合法取值梯度算子‘sobel’sobel算子‘prewitt’prewitt算子‘reberts’robert算子thresh是敏感度閾值參數(shù),任何灰度值低于此閾值的邊緣將不會被檢測到。默認值為空矩陣[],此時算法自動計算閾值。2021/7/1351direction指定了我們感興趣的邊緣方向,edge函數(shù)將只檢測direction中指定方向的邊緣,其合法值如下:direction合法值邊緣方向‘horizontal’水平方向‘vertical’豎直方向‘both’所有方向可選參數(shù)’nothinning’,指定時可以通過跳過邊緣細化算法來加快算法運行的速度。默認是’thinning’,即進行邊緣細化。2)、基于高斯-拉普拉斯算子的邊緣檢測BW=edge(I,’log’,thresh,sigma)sigma指定生成高斯濾波器所使用的標準差。默認時,標準差為2。濾鏡大小n*n,n的計算方法為:n=ceil(sigma*3)*2+1。2021/7/13523)、基于Canny算子的邊緣檢測BW=edge(I,’canny’,thresh,sigma)thresh是敏感度閾值參數(shù),默認值為空矩陣[]。此處為一列向量,為算法指定閾值的上下限。第一個元素為閾值下限,第二個元素為閾值上限。如果只指定一個閾值元素,則默認此元素為閾值上限,其0.4倍的值作為閾值下限。如閾值參數(shù)沒有指定,則算法自行確定敏感度閾值上下限。b1=imread('nir.bmp');h58=fspecial('gaussian',5,0.8);b=imfilter(b1,h58);bw1=edge(b,‘sobel’);%sobel算子bw2=edge(b,‘prewitt’);%prewitt算子bw3=edge(b,‘roberts’);%roberts算子bw4=edge(b,‘log’);%log算子bw5=edge(b,‘canny’);%canny算子figure;imshow(bw1);imwrite(bw1,'nirbwsobel.bmp');figure;imshow(bw2);imwrite(bw2,'nirbwprewitt.bmp');figure;imshow(bw3);imwrite(bw3,'nirbwroberts.bmp');figure;imshow(bw4);imwrite(bw4,'nirbwlog.bmp');figure;imshow(bw5);imwrite(bw5,'nirbwcanny.bmp');2021/7/1353Sobel算子roberts算子prewitt算子log算子canny算子2021/7/1354分析1、邊緣定位精度方面:Roberts算子和Log算子定位精度較高。Roberts算子簡單直觀,Log算子利用二階導數(shù)零交叉特性檢測邊緣。但Log算子只能獲得邊緣位置信息,不能得到邊緣方向信息。2、邊緣方向的敏感性:Sobel算子、Prewitt算子檢測斜向階躍邊緣效果較好,Roberts算子檢測水平和垂直邊緣效果較好。Log算子不具有邊緣方向檢測功能。Sobel算子能提供最精確的邊緣方向估計。3、去噪能力:Roberts算子和Log算子雖然定位精度高,但受噪聲影響大。Sobel算子和Prewitt算子模板相對較大因而去噪能力較強,具有平滑作用,能濾除一些噪聲,去掉一部分偽邊緣,但同時也平滑了真正的邊緣,降低了其邊緣定位精度??傮w來講,Canny算子邊緣定位精確性和抗噪聲能力效果較好,是一個折中方案。

2021/7/1355三、Hough變換直線檢測/8、圖像分割步驟:利用hough()函數(shù)執(zhí)行霍夫變換,得到霍夫矩陣;利用houghpeaks()函數(shù)在霍夫矩陣中尋找峰值點;利用houghlines()函數(shù)在之前兩步結果的基礎上得到原二值圖像中的直線信息。[H,theta,rho]=hough(BW,param1,val1,param2,val2)1、霍夫變換(針對二值圖像)Param合法值含義‘ThetaResolution’Hough矩陣中a軸方向上單位區(qū)間長度,[0,90]‘RhoResolution’Hough矩陣中p軸方向上單位區(qū)間長度,[0,norm(size(BW))]2021/7/13562、尋找峰值—houghpeakspeaks=houghpeaks(H,numpeaks,param1,val1,param2,val2)Param合法值含義‘Threshold’峰值的閾值,默認為0.5*max(H(:))‘NHoodSize’在每次檢測出一個峰值后,NHoodSize指出了在該峰值周圍需要清零的鄰閾信息。以向量[MN]形式給出,其中M、N均為正奇數(shù)。默認為大于等于size(H)/50的最小奇數(shù)peaks是一個Q*2的矩陣,每行的兩個元素分別為某一峰值點在Hough矩陣中的行、列索引,Q為找到的峰值點的數(shù)目。3、提取直線段—houghlineslines=houghlines(BW,theta,rho,peaks,param1,val1,param2,val2)2021/7/1357Param合法值含義‘FillGap’線段合并的閾值:如果對應于Hough矩陣某一個單元格(相同的a和p)的2個線段之間的距離小于FillGap,則合并為1個直線段。默認值為20‘MinLength’檢測的直線段的最小長度閾值:如果檢測出的直線線段長度大于MinLength,則保留,否則丟棄。默認值為40。域含義point1直線段的端點1point2直線段的端點2theta對應在霍夫矩陣中的arho對應在霍夫矩陣中的p返回值lines的結構2021/7/1358I1=imread('004.jpg');I=rgb2gray(I1);%旋轉(zhuǎn)圖像并尋找邊緣rotI=imrotate(I,33,'crop');BW=edge(rotI,'canny');%執(zhí)行Hough變換并顯示Hough矩陣[H,T,R]=hough(BW);figure;imshow(H,[],'XData',T,'YData',R,'InitialMagnification','fit');xlabel('\theta'),ylabel('\rho');axison,axisnormal,holdon;%在Hough矩陣中尋找前5個大于Hough矩陣中最大值0.3倍的峰值P=houghpeaks(H,5,'threshold',ceil(0.3*max(H(:))));x=T(P(:,2));y=R(P(:,1));%由行、列索引轉(zhuǎn)換成實際坐標plot(x,y,'s','color','white');%在Hough矩陣圖像中標出峰值位置%找出并繪制直線lines=houghlines(BW,T,R,

溫馨提示

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

評論

0/150

提交評論