古詩詞大全網 - 成語解釋 - matlab 中imfilter與和conv2具體在運算上是什麽區別?imfilter的相關運算是什麽意思?

matlab 中imfilter與和conv2具體在運算上是什麽區別?imfilter的相關運算是什麽意思?

imfilter實現的是線性空間濾波;

conv2是計算兩個矩陣的二維卷積

1、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)。

2、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