找回密码
 注册
关于网站域名变更的通知
查看: 653|回复: 1
打印 上一主题 下一主题

MATLAB中的卷积运算

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2019-1-13 08:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
MATLAB中的卷积运算% E/ n8 l  K( Q

4 f% p/ u5 N0 }' L" D. |4 l" E

Imfilter:线性空间滤波

conv2:二位卷积

conv2(a,b,same):将b作为模版在a上平移,最后的矩阵大小与a相同

例如:a =# v: I: K4 S" E; P1 c
+ n6 P, h3 P6 X4 D
. J* l- X+ c' [+ ^
     1     2     3
' T2 H. d: w; g( D8 y' d     4     5     6
3 {0 ]. g; o* v! K0 z     7     8     9

b =
/ L+ n- y5 z' c) M, X( G, Q
' S4 [/ U- C* O& W! @9 g* E/ H$ x$ O4 f. I& i
     1     1     1/ E7 x% z9 f6 m/ M, c# v
     1     1     11 X2 g3 L1 s9 ~) g# B2 H, x. q, o
     1     1     1

conv2(a,b,'same’)=

    12    21    16
' E) j! f: x! j! v4 c3 |    27    45    33% e" D2 q$ u5 g! T# f3 Z1 j* G
    24    39    28

这个是将b的模版中心位置置于a矩阵上,并且外圈补0.

conv2(a,b,'full’)=

     1     3     6     5     3; k1 d* q2 l: p! j% l" R( d2 d' l
     5    12    21    16     9
) {' D. E& V( r, R' O$ X    12    27    45    33    18
. `" B" P5 f% A. u" O$ O    11    24    39    28    15
5 b4 V) E4 c* f- [$ r+ x     7    15    24    17     9

如果是full的话,总将b的最右下角元素至于a矩阵的第一个元素作为模版,然后开始平移模版,外圈补0

卷积的计算步骤:( |. ~; P- e8 t( g( Q* N" Q' k
(1)    卷积核绕自己的核心元素顺时针旋转180度(这个千万不要忘了)
4 a, r: @0 f/ I  z  ~) N; c(2)    移动卷积核的中心元素,使它位于输入图像待处理像素的正上方
* p8 w7 t" l# m(3)    在旋转后的卷积核中,将输入图像的像素值作为权重相乘
4 R4 H, e1 Y9 Y; g4 O& v! z(4)    第三步各结果的和做为该输入像素对应的输出像素


5 R9 F  I+ P- s$ G1 d; `; ?

请看用水平和垂直差分算子对矩阵处理后的结果,然后细细体会

a = % m/ |' g9 P- D: m1 o' y' V& y. o
     2     1     3     10 j6 x+ M2 c& e  y
     1     2     1     2! C# j% g  r; O" A* O1 v% Z' q
     2     1     3     2* u% O& D7 z  _! [# |; L8 Z7 _
     1     3     1     2* a$ E+ n' {3 a
b =
" h- l. h7 _+ [5 W, i$ N. o" h3 I    -1    -1    -1
/ {- ?* ~& j. i, K     0     0     0
! `7 b, c9 L( {6 O, [- k. f) f  I     1     1     1
6 z" p" ^) V1 e0 q* je = - g3 J( f' [! w* _: ^. E& h  i% r
    -1     0     1
% p9 D2 o0 K; J3 a9 P    -1     0     1
% b: i9 v2 z+ I' e. Q    -1     0     1
; v0 b6 O( L; V# uconv2(a,b,'same')
& D% _6 u, f7 V! A6 x, S+ I4 Pc =
: X" U' c6 m& R) T5 T    -3    -4    -5    -31 h9 T/ a' q# d. ~
     0     0    -1    -18 q: a( t" C7 G$ U6 `
    -1    -1    -1     0
- M2 I' c1 P$ l7 Q     3     6     6     5
2 Q. _9 \9 J& v+ W, r1 T, `- f9 dconv2(a,e,'same'): j+ w5 n6 h: ~7 X7 x* T% |6 e% t, \
d =
9 k2 s3 T. O5 U% d    -3    -1     0     43 h  x& q: T3 S& y1 J. f
    -4    -2    -1     7
& \+ S% D  g- W0 j, [    -6    -1     0     5
6 G5 X' P0 X4 s% b0 B2 Y. K    -4    -1     0     4


1 V: r2 L% H3 ]4 L: h  v
C = conv2(A,B)返回矩阵A和B的二维卷积C。若A为ma×na的矩阵,B为mb×nb的矩阵,则C的大小为(ma mb 1)×(na nb 1)。 %在full情况下
imfilter与conv2区别在于没有将b首先180°转置,Imfilter(A,B,'replicate'),对于边界外圈复制边界值,而conv2的边界值为0
) x8 d$ P6 f+ \- n$ A* Q
, B# p! s1 L: K- a! A- T

该用户从未签到

2#
发表于 2019-1-14 14:11 | 只看该作者
学习了 谢谢楼主
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-7-19 06:01 , Processed in 0.109375 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表