簡單的卷積就不說了,向量卷積用此函式與用conv效果相同,矩陣卷積用此函式與conv2的二維卷積效果相同。
此函式的方便之處在於支援三維卷積:其實相對於conv2來說就是省了乙個for迴圈。對於三維卷積,比如a矩陣大小為[2,3,3],b矩陣大小為[2,3],計算a與b的卷積結果就是過程就是對於a矩陣的第三維的每一維分別卷積,等價於利用conv2利用卷積核b對a每一維卷積三次。看**:
>> a(:,:,1)=[1 2 3;4 5 6];
>> a(:,:,2)=[7 8 9;6 5 2];
>> a(:,:,3)=[2 5 8;3 2 1];
>> b=[1,2,3;,4,3,2];
>> convn(a,b,'valid')
ans(:,:,1) =
48ans(:,:,2) =
104ans(:,:,3) =
65>> convn(a(:,:,2),b,'valid')
ans =
104>>
分析:卷積結果同樣分為三維:
第一維結果**於a(:,:,1)與b的卷積結果
第二維結果**於a(:,:,2)與b的卷積結果【從**最後一行能看出來】
第三維結果**於a(:,:,3)與b的卷積結果
【注意】利用conv、conv2以及convn卷積時,卷積核預設被旋轉了180°
Matlab中矩陣卷積函式convn
最近在看cnn做手寫數字識別,其中cnn中convolution在影象處理中就涉及了矩陣卷積。因為博主有了奧本海姆 訊號與系統 中一維卷積的基礎,這裡就模擬的推廣一下矩陣卷積 二維,高維類似 卷積步驟 1.考慮到卷積的交換律,可以選擇較方便矩陣 一般選較小 作為卷積核。對此矩陣進行繞中心的180度旋...
函式傳遞多維陣列
一維陣列作為函式引數可以寫成 f int array int size 或者 f int array int size 中的陣列的維數可選 二維陣列作為函式引數可以寫成 f int array 10 int size1 int size2 的形式,除了第一維的引數可以省略,其他的引數必須顯示說明。以...
Matlab函式 strel函式
strel structuring element 運用各種形狀和大小構造元素,基本語法為 se strel shape,parameters shape 是指定希望形狀的字串,parameters 是指定形狀資訊的一系列引數 se strel arbitrary nhood 建立乙個任意形狀的結構...