Matlab圖像處理教程_第1頁
Matlab圖像處理教程_第2頁
Matlab圖像處理教程_第3頁
Matlab圖像處理教程_第4頁
Matlab圖像處理教程_第5頁
已閱讀5頁,還剩81頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

Matlab圖像處理教程GUI界面主要包括三個部分:菜單項,控件,坐標軸新建界面,消除默認菜單項

figure,set(gcf,'menubar',’none’);

新建一個名字為color的菜單項h_menu=uimenu(gcf,'Label','&Color');

在color菜單項下建立一個子菜單h_submenu1=uimenu(h_menu,'Label','&Blue',...

'Callback','set(gcf,''color'',''blue'')');新菜單項句柄=uimenu(父類句柄,屬性名1,屬性值1,屬性名2,屬性值2,…)控件對象句柄=uicontrol(圖形窗口句柄,屬性名1,屬性值1,屬性名2,屬性值2,…)句柄變量=axes(屬性名1,屬性值1,屬性名2,屬性值2,…)作業(yè)設計一個計算器,計算器可以任意的輸入數字進行加、減、乘、除運算,并能在界面上現(xiàn)實結果1.先設計一個界面草圖2.功能實現(xiàn)GUI界面中參數如何傳遞的?圖像處理范疇數字圖像處理就是使用計算機處理數字圖像。分為3個等級:低級處理、中級和高級處理。低級處理特點就是輸入與輸出均為圖像。比如降低噪聲的預處理、對比度增強和圖像銳化等。(圖像處理)中級處理涉及諸如圖像分割這樣的任務,即把圖像分為區(qū)域或對象,然后對對象進行描述。其輸入為圖像,輸出則是從圖像中提取的屬性(如邊緣、輪廓等)。(圖像分析)高級處理通過執(zhí)行通常與人類視覺相關的感知函數,來對識別的對象進行總體確認。(圖像理解)主要研究內容1)圖像變換。由于圖像陣列很大,直接在空間域中進行處理,涉及計算量很大。因此,往往采用各種圖像變換的方法,如傅立葉變換、沃爾什變換、離散余弦變換等間接處理技術,將空間域的處理轉換為變換域處理,不僅可減少計算量,而且可獲得更有效的處理(如傅立葉變換可在頻域中進行數字濾波處理)。目前新興研究的小波變換在時域和頻域中都具有良好的局部化特性,它在圖像處理中也有著廣泛而有效的應用。2)圖像編碼與壓縮。圖像編碼壓縮技術可減少描述圖像的數據量(即比特數),以便節(jié)省圖像傳輸、處理時間和減少所占用的存儲器容量。壓縮可以在不失真的前提下獲得,也可以在允許的失真條件下進行。編碼是壓縮技術中最重要的方法,它在圖像處理技術中是發(fā)展最早且比較成熟的技術。

3)圖像增強和復原。圖像增強和復原的目的是為了提高圖像的質量,如去除噪聲,提高圖像的清晰度等。圖像增強不考慮圖像降質的原因,突出圖像中所感興趣的部分。如強化圖像高頻分量,可使圖像中物體輪廓清晰,細節(jié)明顯;如強化低頻分量可減少圖像中噪聲影響。圖像復原要求對圖像降質的原因有一定的了解,一般講應根據降質過程建立“降質模型”,再采用某種濾波方法,恢復或重建原來的圖像。

主要研究內容4)圖像分割。圖像分割是數字圖像處理中的關鍵技術之一。圖像分割是將圖像中有意義的特征部分提取出來,其有意義的特征有圖像中的邊緣、區(qū)域等,這是進一步進行圖像識別、分析和理解的基礎。雖然目前已研究出不少邊緣提取、區(qū)域分割的方法,但還沒有一種普遍適用于各種圖像的有效方法。因此,對圖像分割的研究還在不斷深入之中,是目前圖像處理中研究的熱點之一。

5)圖像描述。圖像描述是圖像識別和理解的必要前提。作為最簡單的二值圖像可采用其幾何特性描述物體的特性,一般圖像的描述方法采用二維形狀描述,它有邊界描述和區(qū)域描述兩類方法。對于特殊的紋理圖像可采用二維紋理特征描述。隨著圖像處理研究的深入發(fā)展,已經開始進行三維物體描述的研究,提出了體積描述、表面描述、廣義圓柱體描述等方法。

6)圖像分類(識別)。圖像分類(識別)屬于模式識別的范疇,其主要內容是圖像經過某些預處理(增強、復原、壓縮)后,進行圖像分割和特征提取,從而進行判決分類。圖像分類常采用經典的模式識別方法,有統(tǒng)計模式分類和句法(結構)模式分類,近年來新發(fā)展起來的模糊模式識別和人工神經網絡模式分類在圖像識別中也越來越受到重視。研究目的一般來講,對圖像進行處理(或加工、分析)的主要目的有三個方面:

(1)提高圖像的視感質量,如進行圖像的亮度、彩色變換,增強、抑制某些成分,對圖像進行幾何變換等,以改善圖像的質量。

(2)提取圖像中所包含的某些特征或特殊信息。這些被提取的特征或信息往往為計算機分析圖像提供便利。提取特征或信息的過程是模式識別或計算機視覺的預處理。提取的特征可以包括很多方面,如頻域特征、灰度或顏色特征、邊界特征、區(qū)域特征、紋理特征、形狀特征、拓撲特征和關系結構等。

(3)圖像數據的變換、編碼和壓縮,以便于圖像的存儲和傳輸。/1、圖像的讀取和顯示一、圖像的讀取A=imread(FILENAME,FMT)FILENAME指定圖像文件的完整路徑和文件名。如果在work工作目錄下只需提供文件名。FMT為圖像文件的格式對應的標準擴展名。A=imread(‘lean256.BMP');%讀入圖像二、圖像的寫入imwrite(A,F(xiàn)ILENAME,FMT)FILENAME參數指定文件名。FMT為保存文件采用的格式。imwrite(A,‘kk.bmp');/1、圖像的讀取和顯示三、圖像的顯示imshow(I,[lowhigh])I為要顯示的圖像矩陣。[lowhigh]為指定顯示灰度圖像的灰度范圍。高于high的像素被顯示成白色;低于low的像素被顯示成黑色;介于High和low之間的像素被按比例拉伸后顯示為各種等級的灰色。

figure;imshow(I6);title('TheMainPassPartofTTC10373');matlab圖像類型二值圖像索引圖像灰度圖像真彩圖像多幀圖像/1、圖像的讀取和顯示四、圖像的格式轉換im2bw(I,LEVEL);rgb2gray;從RGB圖創(chuàng)建灰度圖,存儲類型不變。im2uint8將圖像轉換成uint8類型閾值法從灰度圖、RGB圖創(chuàng)建二值圖。LEVEL為指定的閾值;(0,1)。im2double將圖像轉換成double類型灰度圖像能轉成彩色圖像嗎?/2、圖像的幾何運算一、圖像的加法運算imadd(I,J);兩幅圖像的大小要一致,數據類型一致二、圖像的減法運算imsubtract(I,J);imdivide(I,J);immultiply(I,J);三、圖像的除法運算四、圖像的乘法運算兩幅圖相乘除沒有意義/2、圖像的幾何運算五、圖像的縮放(p_6.m)imresize(A,[mrows,ncols],method)六、圖像的旋轉imrotate(A,angle,method)methodNearest:最近鄰插值Bilinear:雙線性插值Bicubic:雙三次插值,系統(tǒng)默認值圖像的點運算點運算是直接對圖像的像素值進行操作的,不會改變圖像像素的位置常見的灰度變換1比例線性灰度變換2分段線性灰度變換3非線性灰度變換1比例線性灰度變換

0線性點運算abcd2分段線性灰度變換

3非線性灰度變換圖像的直方圖灰度級[0,L-1],灰度直方圖用離散函數h(rk)表示 rk為第k級灰度,nk是圖像中具有灰度級rk的像素數目,0kL-1,0nkn-1,n為圖像總的像素數目。歸一化的直方圖:

函數histogram[]表示,簡寫為h[]?;叶戎狈綀D的定義圖像直方圖函數imhist例:I=imread(‘lena256.bmp’);subplot(1,2,1),imshow(I);subplot(1,2,2),imhist(I);直方圖均衡化對于灰度級范圍較低的灰度圖像,可以通過直方圖均衡化的方法來進行灰度變換。Matlab使用histeq函數來實現(xiàn)直方圖均衡化例:I=imread('image1.bmp');G=imread('image2.bmp');K=histeq(I);subplot(3,2,1),imshow(I);subplot(3,2,2),imhist(I);subplot(3,2,3),imshow(G);subplot(3,2,4),imhist(G);subplot(3,2,5),imshow(K);subplot(3,2,6),imhist(K);通過實驗,較窄的輸入灰度級范圍變換到了輸出圖像的整個亮度范圍。亮度和對比度都得到較大的增強。四、灰度閾值變換及二值化T為指定閾值BW=im2bw(I,level);%level為人工設定閾值范圍為[0,1]thresh=graythresh(I);%自動設定所需的最優(yōu)化閾值OTSU算法:最大類間方差法自動單閾值分割。Kapur算法:一維直方圖熵閾值算法niblack算法:局部閾值分割閾值的計算公式是T=m+k*v,其中m為以該像素點為中心的區(qū)域的平均灰度值,v是該區(qū)域的標準差,k是一個系數。kittlerMet:表示kittler最小分類錯誤(minimumerrorthresholding)全局二值化算法。

原圖像直接閾值分割0.25自動閾值分割OTSU算法分割KittlerMet算法Niblack算法Kapur算法MATLAB在圖像空域濾波的應用圖像濾波按作用域分為兩類,即空間域和頻域處理。(1)空域處理是直接對圖像進行處理(2)頻域處理則是在圖像的某個變換域內,對圖像的變換系數進行運算,然后通過逆變換獲得圖像增強效果。/4、空間域圖像增強一、噪聲添加h=imnoise(I,type,parameters);type為噪聲類型,合法值如下:‘gaussian’高斯白噪聲:幅度為高斯分布,功率譜均勻分布‘salt&pepper’黑點如胡椒,白點如鹽粒。由圖像傳感器、傳輸信道、解碼處理、圖像切割等產生的黑白相間的亮暗點噪聲。添加高斯白噪聲添加椒鹽噪聲/4、空間域圖像增強二、空間域濾波濾波過程就是在圖像f(x,y)中逐點移動模板,使模板中心和點(x,y)重合,濾波器在每一點(x,y)的響應是根據模板的具體內容并通過預先定義的關系來計算的。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)空域濾波的步驟(1)定義中心點(x,y)(2)對預先定義的以(x,y)為中心點的鄰域內的像素進行運算(3)令運算結果為該點處處理的響應(4)對圖像中的每一點重復此步驟空域濾波基本原理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)圖像原點yxw(-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)

(a)圖像像素

(b)濾波器、掩模、模板、濾波窗口B=imfilter(f,w,option1,option2,…);f為要進行濾波操作的圖像。w為濾波操作使用的模板,為一個二維數組,可自己定義。option1……是可選項,包括:1、邊界選項(’symmetric’、’replicate’、’circular’)2、尺寸選項(’same’、’full’)3、模式選項(’corr’、’conv’)原圖像濾波后圖像三、濾波器設計/4、空間域圖像增強h=fspecial(type,parameters)合法取值功能‘average’平均模板‘disk’圓形領域的平均模板‘gaussian’高斯模板‘laplacian’拉普拉斯模板‘log’高斯-拉普拉斯模板‘prewitt’Prewitt水平邊緣檢測算子‘sobel’Sobel水平邊緣檢測算子parameters為可選項,是和所選定的濾波器類型type相關的配置參數,如尺寸和標準差等。type為濾波器的類型。其合法值如下:線性濾波均值濾波MATLAB線性空間濾波函數imfilterB=imfilter(A,H)A是輸入圖像,B是濾波后的輸出圖像,H是濾波模板例:I=imread(‘lena256.bmp');subplot(2,2,1),imshow(I)K1=imfilter(I,fspecial('average',[33]));K2=imfilter(I,fspecial('average',[55]));K3=imfilter(I,fspecial('average',[77]));subplot(2,2,2),imshow(K1)subplot(2,2,3),imshow(K2)subplot(2,2,4),imshow(K3)均值濾波的優(yōu)缺點均值濾波可以去除均值為0的白噪聲,但卻使得圖像邊緣模糊。加權的濾波模板可以較好的解決上述問題典型加權平均算子(1)中心加權算子2)中心和四鄰點加權算子加權均值濾波I=imread('rec.bmp');subplot(2,2,1),imshow(I)K1=imfilter(I,fspecial('gaussian',[33]));K2=imfilter(I,fspecial('gaussian',[55]));K3=imfilter(I,fspecial('gaussian',[77]));subplot(2,2,2),imshow(K1)subplot(2,2,3),imshow(K2)subplot(2,2,4),imshow(K3)非線性濾波器-中值濾波

中值濾波就是用一個奇數點的移動窗口,將窗口中心點的值用窗口內各點的中值代替。假設窗口內有五點,其值為80、90、200、110和120,那么此窗口內各點的中值即為110。設有一個一維序列f1,f2,…,fn,取窗口長度(點數)為m(m為奇數),對其進行中值濾波,就是從輸入序列中相繼抽出m個數fi-v,…,fi-1,fi,fi+1,…,fi+v(其中fi為窗口中心點值,v=(m-1)/2),再將這m個點按其數值大小排序,取其序號為中心點的那個數作為濾波輸出。用數學公式表示為中值濾波幾種常用窗口中值濾波示例中值濾波函數medfilt2()I=imread('board.bmp');subplot(2,2,1),imshow(I)K1=medfilt2(I,[3,3]);K2=medfilt2(I,[5,5]);K3=medfilt2(I,[7,7]);subplot(2,2,2),imshow(K1)subplot(2,2,3),imshow(K2)subplot(2,2,4),imshow(K3)中值濾波的用途

主要用于去除椒鹽噪聲/4、空間域圖像增強五、圖像銳化圖像銳化主要用于增強圖像的灰度跳變部分,主要通過運算導數(梯度)或有限差分來實現(xiàn)。主要方法有:Robert交叉梯度,Sobel梯度,拉普拉斯算子,高提升濾波,高斯-拉普拉斯變換。Robert交叉梯度w1對接近正45°邊緣有較強響應,w2對接近負45°邊緣有較強響應。Sobel交叉梯度對水平邊緣有較大響應對垂直邊緣有較大響應拉普拉斯算子I=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)),[]);高斯-拉普拉斯銳化/5、頻率域圖像增強用傅里葉變換表示的函數特征可以完全通過傅里葉反變換進行重建而不丟失任何信息吉布斯現(xiàn)象Gibbsphenomenon(又叫吉布斯效應):將具有不連續(xù)點的周期函數(如矩形脈沖)進行傅立葉級數展開后,選取有限項進行合成。當選取的項數越多,在所合成的波形中出現(xiàn)的峰起越靠近原信號的不連續(xù)點。當選取的項數很大時,該峰起值趨于一個常數,大約等于總跳變值的9%。這種現(xiàn)象稱為吉布斯現(xiàn)象。幅度譜相位譜功率譜一、傅里葉變換/5、頻率域圖像增強I=fft2(x);%快速傅里葉變換I=fft2(x,m,n);x為輸入圖像;m和n分別用于將x的第一和第二維規(guī)整到指定的長度。當m和n均為2的整數次冪時算法的執(zhí)行速度要比m和n均為素數時快。I1=abs(I);%計算I的幅度譜I2=angle(I);%計算I的相位譜Y=fftshift(I);%頻譜平移I=ifft2(x);%快速傅里葉逆變換I=ifft2(x,m,n);幅度譜相位譜平移后的相位譜functionout=imidealflpf(I,freq)%imidealflpf函數構造高斯頻域低通濾波器[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函數構造高斯頻域低通濾波器[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高斯低通/8、圖像分割一、圖像分割概述圖像分割一般采用的方法有邊緣檢測(edgedetection)、邊界跟蹤(edgetracing)、區(qū)域生長(regiongrowing)、區(qū)域分離和聚合等。

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

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

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

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

邊緣檢測基本步驟:平滑濾波、銳化濾波、邊緣判定、邊緣連接。邊緣檢測算法:基于一階導數:Roberts算子、Sobel算子、Prewitt算子基于二階導數:高斯-拉普拉斯邊緣檢測算子Canny邊緣檢測算法Matlab實現(xiàn)1)、基于梯度算子的邊緣檢測BW=edge(I,type,thresh,direction,’nothinning’)type合法取值梯度算子‘sobel’sobel算子‘prewitt’prewitt算子‘reberts’robert算子thresh是敏感度閾值參數,任何灰度值低于此閾值的邊緣將不會被檢測到。默認值為空矩陣[],此時算法自動計算閾值。direction指定了我們感興趣的邊緣方向,edge函數將只檢測direction中指定方向的邊緣,其合法值如下:direction合法值邊緣方向‘horizontal’水平方向‘vertical’豎直方向‘both’所有方向可選參數’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是敏感度閾值參數,默認值為空矩陣[]。此處為一列向量,為算法指定閾值的上下限。第一個元素為閾值下限,第二個元素為閾值上限。如果只指定一個閾值元素,則默認此元素為閾值上限,其0.4倍的值作為閾值下限。如閾值參數沒有指定,則算法自行確定敏感度閾值上下限。b1=imread(‘lena256.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');分析1、邊緣定位精度方面:Roberts算子和Log算子定位精度較高。Roberts算子簡單直觀,Log算子利用二階導數零交叉特性檢測邊緣。但Log算子只能獲得邊緣位置信息,不能得到邊緣方向信息。2、邊緣方向的敏感性:Sobel算子、Prewitt算子檢測斜向階躍邊緣效果較好,Roberts算子檢測水平和垂直邊緣效果較好。Log算子不具有邊緣方向檢測功能。Sobel算子能提供最精確的邊緣方向估計。3、去噪能力:Roberts算子和Log算子雖然定位精度高,但受噪聲影響大。Sobel算子和Prewitt算子模板相對較大因而去噪能力較強,具有平滑作用,能濾除一些噪聲,去掉一部分偽邊緣,但同時也平滑了真正的邊緣,降低了其邊緣定位精度??傮w來講,Canny算子邊緣定位精確性和抗噪聲能力效果較好,是一個折中方案。

補充圖像的裁剪I=imread('circuit.tif');I2=imcrop(I,[7568130112]);imshow(I),figure,imshow(I2)濾波時候邊緣處理對邊緣進行擴充對邊緣不進行處理四近鄰和八近鄰四近鄰八近鄰四連接和八連接連通區(qū)域可以看到,通過統(tǒng)計連通域的個數,即可獲得提取的目標物的個數。

四接連意義下為6個連通域。

八接連意義下為2個連通域。腐蝕與膨脹是數學形態(tài)學中的基本運算。腐蝕的作用是將目標進行收縮,膨脹的作用是將目標進行擴大。結構元素是指具有某種確定形狀的基本元素,如矩形、圓形、三角形等。8.2.1腐蝕腐蝕是一種消除邊界點,使邊界向內部收縮的過程,可以用來消除小且無意義的目標物。過程:將結構元素移動到連通區(qū)域,如果結構元素完全包含在連同區(qū)域中,則腐蝕后圖像上該點為1,否則為0。腐蝕實例腐蝕實例(a)原圖(b)腐蝕兩次膨脹是將與目標區(qū)域接觸的背景點合并到該目標中,使目標邊界向外擴

溫馨提示

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

評論

0/150

提交評論