matlab函式 convn多維卷積

2021-07-16 15:02:09 字數 696 閱讀 6755

簡單的卷積就不說了,向量卷積用此函式與用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 建立乙個任意形狀的結構...