實現方法:在MATLAB中,可以用函式y=filter(p,d,x)實現差分方程的模擬,也可以用函式 y=conv(x,h)計算卷積。(1)即y=filter(p,d,x)用來實現差分方程,d表示差分方程輸出y的係數,p表示輸入x的係數,而x表示輸入序列。輸出結果長度數等於x的長度。實現差分方程,先從簡單的說起:filter([1,2],1,[1,2,3,4,5]),實現y[k]=x[k]+2*x[k-1]y[1]=x[1]+2*0=1 (x[1]之前狀態都用0)y[2]=x[2]+2*x[1]=2+2*1=4(2)y=conv(x,h)是用來實現卷級的,對x序列和h序列進行卷積,輸出的結果個數等於x的長度與h的長度之和減去1。卷積公式:z(n)=x(n)*y(n)= ∫x(m)y(n-m)dm. MATLAB中提供了卷積運算的函式命令conv2,其語法格式為:C = conv2(A,B) C = conv2(A,B)返回矩陣A和B的二維卷積C。若A為ma×na的矩陣,B為mb×nb的矩陣,則C的大小為(ma+mb-1)×(na+nb-1)。 MATLAB影象處理工具箱提供了基於卷積的圖象濾波函式filter2,filter2的語法格式為: Y = filter2(h,X) 其中Y = filter2(h,X)返回影象X經運算元h濾波後的結果,預設返回影象Y與輸入影象X大小相同。例如: 其實filter2和conv2是等價的。MATLAB在計算filter2時先將卷積核旋轉180度,再呼叫conv2函式進行計算。 Fspecial函式用於建立預定義的濾波運算元,其語法格式為: h = fspecial(type) h = fspecial(type,parameters) 引數type制定運算元型別,parameters指定相應的引數,具體格式為: type="average",為均值濾波,引數為n,代表模版尺寸,用向量表示,預設值為[3,3]。 type= "gaussian",為高斯低通濾波器,引數有兩個,n表示模版尺寸,預設值為[3,3],sigma表示濾波器的標準差,單位為畫素,預設值為0.5
實現方法:在MATLAB中,可以用函式y=filter(p,d,x)實現差分方程的模擬,也可以用函式 y=conv(x,h)計算卷積。(1)即y=filter(p,d,x)用來實現差分方程,d表示差分方程輸出y的係數,p表示輸入x的係數,而x表示輸入序列。輸出結果長度數等於x的長度。實現差分方程,先從簡單的說起:filter([1,2],1,[1,2,3,4,5]),實現y[k]=x[k]+2*x[k-1]y[1]=x[1]+2*0=1 (x[1]之前狀態都用0)y[2]=x[2]+2*x[1]=2+2*1=4(2)y=conv(x,h)是用來實現卷級的,對x序列和h序列進行卷積,輸出的結果個數等於x的長度與h的長度之和減去1。卷積公式:z(n)=x(n)*y(n)= ∫x(m)y(n-m)dm. MATLAB中提供了卷積運算的函式命令conv2,其語法格式為:C = conv2(A,B) C = conv2(A,B)返回矩陣A和B的二維卷積C。若A為ma×na的矩陣,B為mb×nb的矩陣,則C的大小為(ma+mb-1)×(na+nb-1)。 MATLAB影象處理工具箱提供了基於卷積的圖象濾波函式filter2,filter2的語法格式為: Y = filter2(h,X) 其中Y = filter2(h,X)返回影象X經運算元h濾波後的結果,預設返回影象Y與輸入影象X大小相同。例如: 其實filter2和conv2是等價的。MATLAB在計算filter2時先將卷積核旋轉180度,再呼叫conv2函式進行計算。 Fspecial函式用於建立預定義的濾波運算元,其語法格式為: h = fspecial(type) h = fspecial(type,parameters) 引數type制定運算元型別,parameters指定相應的引數,具體格式為: type="average",為均值濾波,引數為n,代表模版尺寸,用向量表示,預設值為[3,3]。 type= "gaussian",為高斯低通濾波器,引數有兩個,n表示模版尺寸,預設值為[3,3],sigma表示濾波器的標準差,單位為畫素,預設值為0.5