南工大Matlab圖像處理教程簡易教程上機_第1頁
南工大Matlab圖像處理教程簡易教程上機_第2頁
南工大Matlab圖像處理教程簡易教程上機_第3頁
南工大Matlab圖像處理教程簡易教程上機_第4頁
南工大Matlab圖像處理教程簡易教程上機_第5頁
已閱讀5頁,還剩72頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

Matlab數(shù)字圖像處理/1、圖像的讀取和顯示/2、圖像的點運算/4、空間域圖像增強/5、頻率域圖像增強/6、彩色圖像處理/7、形態(tài)學圖像處理/8、圖像分割/9、特征提取/3、圖像的幾何變換/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');/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個位置上。/1、圖像的讀取和顯示四、圖像的格式轉換im2bw(I,LEVEL);rgb2gray;從RGB圖創(chuàng)建灰度圖,存儲類型不變。im2uint8將圖像轉換成uint8類型閾值法從灰度圖、RGB圖創(chuàng)建二值圖。LEVEL為指定的閾值;(0,1)。im2double將圖像轉換成double類型/2、圖像的點運算灰度直方圖描述了一副圖像的灰度級統(tǒng)計信息,主要應用于圖像分割和圖像灰度變換等處理過程中。從數(shù)學角度來說,圖像直方圖描述圖像各個灰度級的統(tǒng)計特性,它是圖像灰度值的函數(shù),統(tǒng)計一幅圖像中各個灰度級出現(xiàn)的次數(shù)或概率。歸一化直方圖可以直接反映不同灰度級出現(xiàn)的比率。橫坐標為圖像中各個像素點的灰度級別,縱坐標表示具有各個灰度級別的像素在圖像中出現(xiàn)的次數(shù)或概率。imhist(I);%灰度直方圖I=imread('bacteria.BMP');%讀入圖像

figure;%打開新窗口[M,N]=size(I);%計算圖像大小[counts,x]=imhist(I,32);%計算有32個小區(qū)間的灰度直方圖counts=counts/M/N;%計算歸一化灰度直方圖各區(qū)間的值stem(x,counts)一、圖像直方圖圖像直方圖歸一化/2、圖像的點運算二、灰度的線性變換Fa>1時,輸出圖像的對比度將增大;Fa<1時,輸出圖像對比度將減小。Fa=1且Fb非零時,所有像素的灰度值上移或下移,使整個圖像更暗或更亮。Fa<0,暗區(qū)變亮,亮區(qū)變暗。/2、圖像的點運算三、灰度的對數(shù)變換c為尺度比例常數(shù),s為源灰度值,t為變換后的目標灰度值。k為常數(shù)?;叶鹊膶?shù)變換可以增強一幅圖像中較暗部分的細節(jié),可用來擴展被壓縮的高值圖像中的較暗像素。廣泛應用于頻譜圖像的顯示中。Warning:log函數(shù)會對輸入圖像矩陣s中的每個元素進行操作,但僅能處理double類型的矩陣。而從圖像文件中得到的圖像矩陣大多是uint8類型的,故需先進行im2double數(shù)據(jù)類型轉換。I=imread('fft_exp.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ù)變換后');四、灰度閾值變換及二值化T為指定閾值BW=im2bw(I,level);%level為人工設定閾值范圍為[0,1]I=imread('blood1.bmp');BW=im2bw(I,0.2);imshow(BW)thresh=graythresh(I);%自動設定所需的最優(yōu)化閾值I=imread('blood1.bmp');thresh=graythresh(I);BW=im2bw(I,thresh);imshow(BW)/2、圖像的點運算五、直方圖均衡化[J,T]=histeq(I);%J為輸出圖像,T為變換矩陣圖像易受光照、視角、方位、噪聲等的影響。使得同一類圖像的不同變形體之間的差距有時大于該類圖像與另一類圖像之間的差距,影響圖像識別、分類。圖像歸一化就是將圖像轉換到唯一的標準形式以抵抗各種變換,從而消除同類圖像不同變形體之間的外觀差異。也稱為圖像灰度歸一化。原圖像及直方圖圖像變亮后灰度均衡化圖像變暗后灰度均衡化/3、圖像的幾何變換一、圖像平移正變換逆變換strel%用來創(chuàng)建形態(tài)學結構元素translate(SE,[yx])%原結構元素SE上y和x方向平移imdilate%形態(tài)學膨脹/3、圖像的幾何變換I=imread('lena.bmp');se=translate(strel(1),[3045]);B=imdilate(I,se);figure;subplot(1,2,1),subimage(I);title('原圖像');subplot(1,2,2),subimage(B);title('平移后圖像');/3、圖像的幾何變換二、圖像鏡像B=imtransform(A,TFORM,method);TFORM=makeform(transformtype,Matrix);%空間變換結構Method合法值含義‘bicubic’雙三次插值‘bilinear’雙線性插值‘nearest’最近鄰插值參數(shù)transformtype指定了變換的類型,常見的’affine’為二維或多維仿射變換,包括平移、旋轉、比例、拉伸和錯切等。Matrix為相應的仿射變換矩陣。A=imread('bunny.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;subplot(131),imshow(A);subplot(132);imshow(B);subplot(133);imshow(C);A=imread('lena.bmp');tform=maketform('affine',[010;100;001]);B=imtransform(A,tform,'nearest');figure;subplot(121),imshow(A);subplot(122),imshow(B);/3、圖像的幾何變換三、圖像轉置/3、圖像的幾何變換四、圖像中心旋轉B=imrotate(A,angle,method,’crop’);angle為旋轉角度,正值為逆時針旋轉??蛇x參數(shù)method為imrotate函數(shù)指定插值方法?!甤rop’選項會裁減旋轉后增大的圖像,保持和原圖像同樣大小。

A=imread('lena.bmp');B=imrotate(A,30,'nearest','crop');figure;subplot(121),imshow(A);subplot(122),imshow(B);逆時針30度/4、空間域圖像增強一、噪聲添加h=imnoise(I,type,parameters);type為噪聲類型,合法值如下:‘gaussian’高斯白噪聲:幅度為高斯分布,功率譜均勻分布‘salt&pepper’黑點如胡椒,白點如鹽粒。由圖像傳感器、傳輸信道、解碼處理、圖像切割等產(chǎn)生的黑白相間的亮暗點噪聲。添加高斯白噪聲添加椒鹽噪聲I=imread('eight.tif');h1=imnoise(I,'gaussian',0.02);figure;subplot(121),imshow(h1);h2=imnoise(I,'salt&pepper',0.04);subplot(122),imshow(h2)/4、空間域圖像增強二、空間域濾波濾波過程就是在圖像f(x,y)中逐點移動模板,使模板中心和點(x,y)重合,濾波器在每一點(x,y)的響應是根據(jù)模板的具體內容并通過預先定義的關系來計算的。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)B=imfilter(f,w,option1,option2,…);f為要進行濾波操作的圖像。w為濾波操作使用的模板,為一個二維數(shù)組,可自己定義。option1……是可選項,包括:1、邊界選項(’symmetric’、’replicate’、’circular’)2、尺寸選項(’same’、’full’)3、模式選項(’corr’、’conv’)/4、空間域圖像增強四、中值濾波h=medfilt2(I1,[m,n]);m和n為中值濾波處理的模板大小,默認3*3中值濾波本質上是一種統(tǒng)計排序濾波器。中值不同于均值,是指排序隊列中位于中間位置的元素的值。中值濾波并非線性濾波器。對于某些類型的隨機噪聲具有非常理想的降噪能力。典型的應用就是消除椒鹽噪聲。I=imread('eight.tif');h1=imnoise(I,'gaussian',0.02);figure;subplot(221),imshow(h1);h2=imnoise(I,'salt&pepper',0.04);subplot(222),imshow(h2);h=medfilt2(h2,[3,3]);subplot(223),imshow(h);/4、空間域圖像增強五、圖像銳化圖像銳化主要用于增強圖像的灰度跳變部分,主要通過運算導數(shù)(梯度)或有限差分來實現(xiàn)。主要方法有:Robert交叉梯度,Sobel梯度,拉普拉斯算子,高提升濾波,高斯-拉普拉斯變換。Robert交叉梯度w1對接近正45°邊緣有較強響應,w2對接近負45°邊緣有較強響應。Sobel交叉梯度對水平邊緣有較大響應對垂直邊緣有較大響應拉普拉斯算子I=imread('eight.tif');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;subplot(131),imshow(G,[]);Subplot(132),imshow(abs(G1),[]);subplot(133),imshow(abs(G2),[]);Robert交叉梯度I=imread('eight.tif');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)),[]);高斯-拉普拉斯銳化一、傅里葉變換/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);/6、彩色圖像處理色彩模型:RGB模型、CMY模型、CMYK模型、HIS模型、HSV模型、YUV模型、YIQ模型。RGB模型國際照明委員會(CIE)規(guī)定以藍(435.8nm)、綠(546.1nm)和紅(700nm)作為主原色。RGB_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模型又稱為減色法混色模型。當光都被吸收時成為黑色,都被反射時為白色。HSI模型HIS模型是從人的視覺系統(tǒng)出發(fā),直接使用顏色三要素色調(Hue)、飽和度(Saturation)和亮度(Intensity)來描述顏色。亮度指人眼感覺光的明暗程度。光的能量越大,亮度越大。色調由物體反射光線中占優(yōu)勢的波長決定。反映顏色的本質。飽和度指顏色的深淺和濃淡程度,飽和度越高,顏色越深。HIS色彩空間比RGB彩色空間更符合人的視覺特性。亮度和色度具有可分離特性,使得圖像處理和機器視覺中大量灰度處理算法都可在HIS彩色空間中方便使用。色調強度飽和度其中/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角形的結構元素/8、圖像分割一、圖像分割概述圖像分割一般采用的方法有邊緣檢測(edgedetection)、邊界跟蹤(edgetracing)、區(qū)域生長(regiongrowing)、區(qū)域分離和聚合等。

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

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

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

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

邊緣檢測基本步驟:平滑濾波、銳化濾波、邊緣判定、邊緣連接。邊緣檢測算法:基于一階導數(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ù),任何灰度值低于此閾值的邊緣將不會被檢測到。默認值為空矩陣[],此時算法自動計算閾值。direction指定了我們感興趣的邊緣方向,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。3)、基于Canny算子的邊緣檢測BW=edge(I,’canny’,thresh,sigma)thresh是敏感度閾值參數(shù),默認值為空矩陣[]。此處為一列向量,為算法指定閾值的上下限。第一個元素為閾值下限,第二個元素為閾值上限。如果只指定一個閾值元素,則默認此元素為閾值上限,其0.4倍的值作為閾值下限。如閾值參數(shù)沒有指定,則算法自行確定敏感度閾值上下限。b1=imread('blood1.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;subplot(231),imshow(bw1);subplot(232),imshow(bw2);subplot(233),imshow(bw3);subplot(234),imshow(bw4);subplot(235),imshow(bw5);

Matlab圖像類型轉換1.圖像類型轉換的必要性

對于索引圖像進行濾波時,必須把它轉換為RGB圖像,否則光對圖像的下標進行濾波,得到的結果是毫無意義的。2.各種類型圖像的轉換關系索引圖像灰度圖像真彩圖像二值圖像數(shù)據(jù)矩陣

功能:將灰度圖像轉換成索引圖像。格式:[X,map]=gray2ind(I,n)

按照指定的灰度級n把灰度圖像I轉換成索引圖像X,map為gray(n),n的缺省值為64。例:

I=imread('cameraman.tif');[X,map]=gray2ind(I,16);imshow(X,map);figure,imshow(I);2.gray2ind函數(shù)

功能:通過設定閾值將灰度圖像轉換成索引色圖像。格式:X=grayslice(I,n)

例:I=imread('cameraman.tif');X=grayslice(I,16);imshow(I);figure,imshow(X,bone(16));

3.grayslice函數(shù)

功能:將灰度圖像、索引色圖像和真彩色圖像轉化成二值圖像。

格式:BW=im2bw(I,level)BW=im2bw(X,map,level)BW=im2bw(RGB,level)

level是一個歸一化閾值,取值在[0,1]。4.im2bw函數(shù)例:真彩色轉換為二值圖像I=imread('autumn.tif');X=im2bw(I,0.5);imshow(I);figure,imshow(X);

功能:將索引圖像轉換成灰度圖像。

格式:I=ind2gray(X,map)5.ind2gray函數(shù)索引圖像轉換成灰度圖像

功能:將索引色圖像轉換成真彩色圖像。格式:RGB=ind2rgb(X,map)例:

[I,map]=imread('m83.tif');X=ind2rgb(I,map);imshow(I,map);figure,imshow(X);6.ind2rgb函數(shù)

功能:將一個數(shù)據(jù)矩陣轉換成一幅灰度圖像。

格式:I=mat2gray(A,[aminamax])I=mat2gray(A)7.mat2gray函數(shù)

功能:將一幅真彩色圖像轉換成灰度圖像。

格式:I=rgb2gray(RGB)

例:

RGB=imread('autumn.tif');X=rgb2gray(RGB);imshow(RGB);figure,imshow(X);

8.rgb2gray函數(shù)

轉換效果圖

功能:將真彩色圖像轉換成索引色圖像。

格式:

[X,map]=rgb2ind(RGB,n)

例:

RGB=imread('autumn.tif');[X,map]=rgb2ind(RGB,128);imshow(RGB);figure,imshow(X,map);

9.rgb2ind函數(shù)

補充:圖像的運算

imadd(X,Y);

Y可以是另一幅圖像,也可以是一個常數(shù)。

例1:

I=imread('rice.png');J=imread('cameraman.tif');K=imadd(I,J);subplot(131);imshow(I);subplot(132);imshow(J);subplot(133);imshow(K);△圖像的加法

例2:實現(xiàn)亮度的增加

RGB=imread('greens.jpg');RGB1=imadd(RGB,50);subplot(1,2,1);imshow(RGB);subplot(1,2,2);imshow(RGB1);

△圖像的減法Z=imsubtract(X,Y);

計算X與Y的像素之差,負數(shù)將被截取為0。

Z=imabsdiff(X,Y);

計算X與Y的像素之差的絕對值,結果為非負的。根據(jù)RGB圖像創(chuàng)建一幅灰度圖像I=imread('Plane211.jpg');I2=rgb2gray(I);imshow(I);figure,imshow(I2);二值圖像的取反操作I=imre

溫馨提示

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

評論

0/150

提交評論