日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 综合教程 >内容正文

综合教程

MATLAB卷积运算(conv、conv2、convn)解释

發(fā)布時(shí)間:2024/1/3 综合教程 48 生活家
生活随笔 收集整理的這篇文章主要介紹了 MATLAB卷积运算(conv、conv2、convn)解释 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1

conv(向量卷積運(yùn)算)

所謂兩個(gè)向量卷積,說(shuō)白了就是多項(xiàng)式乘法。
比如:p=[1 2 3],q=[1 1]是兩個(gè)向量,p和q的卷積如下:
把p的元素作為一個(gè)多項(xiàng)式的系數(shù),多項(xiàng)式按升冪(或降冪)排列,比如就按升冪吧,寫(xiě)出對(duì)應(yīng)的多項(xiàng)式:1+2x+3x^2;同樣的,把q的元素也作為多項(xiàng)式的系數(shù)按升冪排列,寫(xiě)出對(duì)應(yīng)的多項(xiàng)式:1+x。

卷積就是“兩個(gè)多項(xiàng)式相乘取系數(shù)”。
(1+2x+3x^2)×(1+x)=1+3x+5x^2+3x^3
所以p和q卷積的結(jié)果就是[1 3 5 3]。

記住,當(dāng)確定是用升冪或是降冪排列后,下面也都要按這個(gè)方式排列,否則結(jié)果是不對(duì)的。
你也可以用matlab試試
p=[1 2 3]
q=[1 1]
conv(p,q)
看看和計(jì)算的結(jié)果是否相同。

conv2(二維矩陣卷積運(yùn)算)

a=[1 1 1;1 1 1;1 1 1];
b=[1 1 1;1 1 1;1 1 1];
>> conv2(a,b)

ans =

1 2 3 2 1
2 4 6 4 2
3 6 9 6 3
2 4 6 4 2
1 2 3 2 1

>> conv2(a,b,'valid')

ans =

9

>> conv2(a,b,'same')

ans =

4 6 4
6 9 6
4 6 4

>> conv2(a,b,'full')

ans =

1 2 3 2 1
2 4 6 4 2
3 6 9 6 3
2 4 6 4 2
1 2 3 2 1

convn(n維矩陣卷積運(yùn)算)


>> a=ones(5,5,5)

a(:,:,1) =

1 1 1 1 1
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1

a(:,:,2) =

1 1 1 1 1
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1

a(:,:,3) =

1 1 1 1 1
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1

a(:,:,4) =

1 1 1 1 1
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1

a(:,:,5) =

1 1 1 1 1
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1

>> b=ones(5,5,5);

>> convn(a,b,'valid')

ans =

125

>> convn(a,b,'same')

ans(:,:,1) =

27 36 45 36 27
36 48 60 48 36
45 60 75 60 45
36 48 60 48 36
27 36 45 36 27

ans(:,:,2) =

36 48 60 48 36
48 64 80 64 48
60 80 100 80 60
48 64 80 64 48
36 48 60 48 36

ans(:,:,3) =

45 60 75 60 45
60 80 100 80 60
75 100 125 100 75
60 80 100 80 60
45 60 75 60 45

2

1.full

如下圖:

圖(1)

圖中藍(lán)色為原圖像,白色為對(duì)應(yīng)卷積所增加的padding,通常全部為0,綠色是卷積后圖片。圖的卷積的滑動(dòng)是從卷積核右下角與圖片左上角重疊開(kāi)始進(jìn)行卷積,滑動(dòng)步長(zhǎng)為1,卷積核的中心元素對(duì)應(yīng)卷積后圖像的像素點(diǎn)。

2.same

如下圖:

圖(2)

卷積的時(shí)候需要對(duì)卷積核進(jìn)行180的旋轉(zhuǎn),同時(shí)卷積核中心與需計(jì)算的圖像像素對(duì)齊,輸出結(jié)構(gòu)為中心對(duì)齊像素的一個(gè)新的像素值

3. valid

如下圖:

圖(3)

太簡(jiǎn)單,不解釋。

最后,我們可以總結(jié)出full,same,valid三種卷積后圖像大小的計(jì)算公式:

1.full: 滑動(dòng)步長(zhǎng)為1,圖片大小為N1xN1,卷積核大小為N2xN2,卷積后圖像大小:N1+N2-1 x N1+N2-1

如圖1,滑動(dòng)步長(zhǎng)為1,圖片大小為2x2,卷積核大小為3x3,卷積后圖像大小:4x4

2.same:滑動(dòng)步長(zhǎng)為1,圖片大小為N1xN1,卷積核大小為N2xN2,卷積后圖像大小:N1xN1

3.valid:滑動(dòng)步長(zhǎng)為S,圖片大小為N1xN1,卷積核大小為N2xN2,卷積后圖像大小:(N1-N2)/S+1 x (N1-N2)/S+1

如圖2,滑動(dòng)步長(zhǎng)為1,圖片大小為5x5,卷積核大小為3x3,卷積后圖像大小:3x3

3
MATLAB的conv2函數(shù)實(shí)現(xiàn)步驟(conv2(A,B)):

其中,矩陣A和B的尺寸分別為ma*na即mb*nb

① 對(duì)矩陣A補(bǔ)零,第一行之前和最后一行之后都補(bǔ)mb-1行,第一列之前和最后一列之后都補(bǔ)nb-1列(注意conv2不支持其他的邊界補(bǔ)充選項(xiàng),函數(shù)內(nèi)部對(duì)輸入總是補(bǔ)零);

② 將卷積核繞其中心旋轉(zhuǎn)180度;

③ 滑動(dòng)旋轉(zhuǎn)后的卷積核,將卷積核的中心位于圖像矩陣的每一個(gè)元素,并求乘積和(即將旋轉(zhuǎn)后的卷積核在A上進(jìn)行滑動(dòng),然后對(duì)應(yīng)位置相乘,最后相加);下面分別是shape=full, same, valid時(shí)取輸出圖像大小的情況,其中:位置1表示輸出圖像的值從當(dāng)前核的計(jì)算值開(kāi)始(對(duì)應(yīng)輸出圖像左上角),位置2表示到該位置結(jié)束(對(duì)應(yīng)輸出圖像右下角)

看后請(qǐng)點(diǎn)贊

總結(jié)

以上是生活随笔為你收集整理的MATLAB卷积运算(conv、conv2、convn)解释的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。