MATLAB中conv2的詳細用法

2021-07-23 21:14:48 字數 1152 閱讀 6698

-------------------------------------

conv2函式

----------------------------------------

1、用法

c=conv2(a,b,shape);        %卷積濾波

複製**

a:輸入影象,b:卷積核

假設輸入影象a大小為ma x na,卷積核b大小為mb x nb,則

當shape=full時,返回全部二維卷積結果,即返回c的大小為(ma+mb-1)x(na+nb-1)

shape=same時,返回與a同樣大小的卷積中心部分

shape=valid時,不考慮邊界補零,即只要有邊界補出的零參與運算的都捨去,返回c的大小為(ma-mb+1)x(na-nb+1)

2、實現步驟

假設輸入影象a大小為ma x na,卷積核大小為mb x nb,則matlab的conv2函式實現流程如下:

a、對輸入影象補零,第一行之前和最後一行之後都補mb-1行,第一列之前和最後一列之後都補nb-1列(注意conv2不支援其他的邊界補充選項,函式內部對輸入總是補零)。

b、關於卷積核的中心,旋轉卷積核180度。

c、滑動卷積核,將卷積核的中心位於影象矩陣的每乙個元素。

d、將旋轉後的卷積核乘以對應的矩陣元素再求和。

3、實現過程展示

假設有影象a=[4 3 1 2;0 1 1 3;5 2 0 0],卷積核b=[1 2 3;0 -1 2;1 1 0]

a、首先是按照上面的步驟進行補零,如下圖外圈紅色的為補出的零

b、將卷積核旋轉180度

c、將旋轉後的核在a上進行滑動,然後對應位置相乘,最後相加,下面分別是shape=full,same,valid時取輸出影象大小的情況,位置1表示輸出影象的值從當前核的計算值開始(對應輸出影象左上角),位置2表示到該位置結束(對應輸出影象右下)

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 ...

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...

imfilter和conv2的關係

首先定義兩個矩陣 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.0...