|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
8 k2 }9 j# h2 G. B! J6 S, H6 _
% h6 _, i K9 o8 z1、高斯滤波器的实现方式
9 m' E: [& b& E: @0 ]4 A/ K/ ^5 {$ U0 m l# C- B, G) F& ^
方法1:与高斯核直接进行卷积实现,这样使用的资源和乘法器 加法器都会很多。例如3*3窗口的滤波核进行卷积运算,一共需要进行9次乘法和8次加法。
5 c$ u# [1 y5 J% }' Z! i+ G
- N! |1 c1 a- A6 T3 x V 方法2:采用两个一维的高斯滤波进行两次滤波,即先对行进行一维滤波,然后再对列进行一维滤波,这样计算简单,降低了复杂度。$ C/ q% ]; y' C: ^4 q* e
( ^4 |8 u) b/ L9 ?( A, ?: ^
比较两种方法,采用第二种实现方法。7 R$ J& a& H$ n4 j( D) ^2 ~
) r' b7 k4 H- x5 z( o
2、行列分离计算方法1 T1 k" T( ~" G, ?, o
; P9 @( n3 I. v2 w
采用下图的计算方法,其中对边界的处理填0处理。
1 j) X- d! r2 V
& _/ G0 z( U& {) ?' r$ c : w0 k! l0 n/ g" x6 Z, K5 N- k0 D; {: t
( q( Q( Q4 e3 a% K, j8 a& v; Q/ c) M
3、实现结果3 E, U/ o" v; m0 y1 w6 M; w5 w
) B6 B$ G7 f/ p仿真速度:
1 Y1 J0 e& x9 _2 |) H( L& E
' r5 p0 o2 b! B: ialways# y9 j) z5 L6 ?/ J+ s6 g5 Q k' g
begin
9 d" R2 e- _3 W' g$ z- e3 v#10 clk = ~clk; //100Mhz
" k0 D y- R. A3 gend; i! Q* @5 G/ L" p8 G
时间:5201520000ps=5.2ms
9 v& f; b& r: Y% v, V9 }always
5 P2 W: B; h$ Y3 Q j0 L) Obegin1 G0 t8 y: v6 A' j1 m8 {
#5 clk = ~clk; //200Mhz
T/ P6 r, G+ F9 S' o* p3 Jend) x% K+ R3 r3 e+ [ O2 H0 [
时间:2600780000ps=2.6ms$ _2 B9 }" D8 \: K q) h# O$ C$ ^# T
, m! t2 I4 i! [0 j: P! r1 g4 p; S4、与仿真比较
: T, m! x( r0 }( j; ]1 ]
" F; ^& Q2 s/ a% ~1 v如下图
4 N+ _5 t) ?5 R8 w) ~# L![]() | * G8 W: t7 c( e6 V& j; i
|
|