matlab conv2 和filter2的區別 阿新 • • 發佈:2018-12-08 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)。 例: A=magic(5) A = 17 24 1 8 15 23 5 7 14 16 4 6 13 20 22 10 12 19 21 3 11 18 25 2 9 >> B=[1 2 1 ;0 2 0;3 1 3] B = 1 2 1 0 2 0 3 1 3 >> C=conv2(A,B) C = 17 58 66 34 32 38 15 23 85 88 35 67 76 16 55 149 117 163 159 135 67 79 78 160 161 187 129 51 23 82 153 199 205 108 75 30 68 135 168 91 84 9 33 65 126 85 104 15 27 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