首先定義兩個矩陣
>> a = [1 2 3 5 ; 4 7 9 5;1 4 6 7;5 4 3 7;8 7 5 1] %a矩陣取5*4
b = [1 5 4; 3 6 8; 1 5 7] %b矩陣如多數模板一樣取3*3
然後定義乙個高斯模板
>> gaussian=fspecial('gaussian',3,1.8)
gaussian =
0.0997 0.1163 0.0997
0.1163 0.1358 0.1163
0.0997 0.1163 0.0997
之後我們看看利用imfilter計算結果
>> g=imfilter(a,gaussian)
g =1.5318 2.8476 3.4654 2.5070
2.1885 4.2578 5.4600 4.0195
2.7451 4.7312 5.7839 4.2411
3.2882 4.7479 4.8615 3.3270
2.8811 3.7260 3.0555 1.8311
然後我們看看用卷積的結果
>> cc=conv2(a,gaussian,'same')
cc =
1.5318 2.8476 3.4654 2.5070
2.1885 4.2578 5.4600 4.0195
2.7451 4.7312 5.7839 4.2411
3.2882 4.7479 4.8615 3.3270
2.8811 3.7260 3.0555 1.8311
這裡cc和g的結果是一樣的
然而 如果我們把高斯矩陣換成b矩陣又會有什麼結果呢?
先對b歸一化
>> bb=b/sum(sum(b))
bb =
0.0250 0.1250 0.1000
0.0750 0.1500 0.2000
0.0250 0.1250 0.1750
>> gg=imfilter(a,bb) %濾波
gg =
2.2750 3.5250 3.7750 1.8250
3.1500 5.3000 5.8750 3.1500
3.4750 4.9000 6.1000 3.3000
4.3000 4.6500 4.6750 2.5500
3.6250 3.5750 2.6500 1.4750
>> ccc=conv2(a,bb,'same') %執行卷積操作的結果
ccc =
0.9750 2.2250 3.1750 2.8750
1.5250 3.7750 5.3000 5.1750
1.8500 4.1250 5.6500 5.6250
2.4500 4.4500 4.7500 4.2000
2.4500 4.4750 3.4750 2.5500
這裡執行的結果卻不相等~ 無法理解
然而 若執行
>> ggg=imfilter(a,bb,'conv') %表示a與bb矩陣執行的是卷積操作 這個時候的結果與直接ccc=conv2(a,bb,'same') %執行卷積操作的結果是一樣的
ggg =
0.9750 2.2250 3.1750 2.8750
1.5250 3.7750 5.3000 5.1750
1.8500 4.1250 5.6500 5.6250
2.4500 4.4500 4.7500 4.2000
2.4500 4.4750 3.4750 2.5500
事實證明不進行歸一化conv2的結果與imfilter的結果是一樣的
>> ggg=imfilter(a,b,'conv')
ggg =
39 89 127 115
61 151 212 207
74 165 226 225
98 178 190 168
98 179 139 102
>> ccc=conv2(a,b,'same')
ccc =
39 89 127 115
61 151 212 207
74 165 226 225
98 178 190 168
98 179 139 102
Matlab函式 conv2的用法
matlab函式conv2的用法 c conv2 a,b c conv2 hcol,hrow,a c conv2 shape 說明 對於 c conv2 a,b conv2 的算矩陣 a 和 b 的卷積,若 ma,na size a mb,nb size b 則 size c ma mb 1,na ...
TensorFlow學習 卷積層conv2d引數
卷積層引數解釋 tf.nn.conv2d input,filter,strides,padding,use cudnn on gpu bool,data format name none input 指定需要做卷積的輸入影象,輸入要求為乙個4維的 tensor 要求輸入型別為 float32 或者f...
matlab 函式說明 conv2
conv 是卷積的意思,2表示2維卷積。conv2的呼叫形式如下 1.c conv2 a,b 這是最簡單的一種呼叫形式,b作為卷積核在a的範圍內滑動,若 ma na size a mb nb size b mc nc size c 則有mc max ma mb 1,ma,mb nc max na n...