一維卷積與二維卷積計算


介紹一維卷積的兩種計算方法:

1.h(n)序列倒置->位移->相乘->取和

舉例:x(n) = [4,3,2,1],h(n) = [3,2,1]。

h(n)倒置為h'(n)[1,2,3],逐漸從前向x(n)位移,直到h'(n)最后一個元素3與x(n)第一個元素4接觸時,開始相乘,也就是將兩個序列相交的元素相乘並求和。

因此x(n)*h(n) = [4×3,2×4+3×3,1×4+2×3+3×2,1×3+2×2+3×1,1×2+2×1,1×1]  = [12,17,16,10,4,1]

2.對位相乘求和。

步驟:①兩序列右對齊;②逐個元素對應相乘但是不進位;③同列乘值相加

舉例:

矩陣卷積:

同一維數據卷積一樣,它的實質在於將卷積模板圖像翻轉(旋轉180°),這里等同於一維信號的翻轉,然后將卷積模板依次從上到下、從左到右滑動,計算在模板與原始圖像交集元素的乘積和,該和就作為卷積以后的數值。

假設矩陣A(4*3)、B(2*3)如下,計算B * A:

               

 

      首先,B需要旋轉180,結果為

      

    然后不斷平移、相乘、求和。

       依次計算直至結束,結果數據為:

   卷積結果shape的取值有三種,令mA表示矩陣A的行數,nA代表矩陣A的列數。full代表返回卷積以后的全部數據,即為(mA+mB-1,nA+nB-1);same代表返回卷積以后的原圖size (mA,nA)的部分數據;valid返回size為(mA-mB+1,nA-nB+1)的數據,指的是模板元素全部參加運算的結果數據,即源圖像和模板的交集為模板。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM