前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >FPGA图像处理之高斯滤波仿真篇

FPGA图像处理之高斯滤波仿真篇

作者头像
FPGA开源工作室
发布2019-10-29 10:23:13
8250
发布2019-10-29 10:23:13
举报
文章被收录于专栏:FPGA开源工作室FPGA开源工作室

FPGA图像处理之高斯滤波仿真篇

作者:lee神

高斯滤波是一种低通平滑滤波,常用于模糊处理和减少噪声信号,其中模糊处理常用于预处理,即在提取目标之前去除图像中的一些细节等,这有利于高通处理。对于二维的数字图像信号,一般通过线性滤波器和非线性滤波器的模糊处理来减少强噪声信号。平滑滤波器就是用滤波掩模确定的邻域内的像素与加权值相卷积后得到的灰度均值来代替每个像素的值,这就很容易使用硬件实现。 GAUSS 滤波算法克服了边界效应,因而滤波后的图像较好。其

gauss滤波的算子为:

gauss滤波的数学公式为:

G(I,j) ={f(i-1,j-1)+f(i-1,j+1)+f(i+1,j-1)+f(i+1,j+1)+[f(i-1,j)+(i+1,j)+f(i,j-1)+f(i,j+1)]*2+f(i,j)*4}/16 ----------------------------------------------------(1)

以上是FPGA实现高斯滤波的思路:

模块结构结构

FPGA源码:

代码语言:javascript
复制
`timescale 1ns /1ps
modulegauss_filter(
       input clk,    //
               input rst_n,
               input [15:0] data_in,
               input en_data_in,
               output [15:0] data_out,
               output en_data_out
       );
wire [15:0] line0;
wire [15:0] line1;
wire [15:0] line2;
wire [33:0]  acc_result0;
wire [33:0]  acc_result1;
wire [33:0]  acc_result2;
line3x3line3x3_inst(
           .clken(en_data_in),
           .clock(clk),
           .shiftin(data_in),
           .shiftout(),
           .taps0x(line0),
           .taps1x(line1),
           .taps2x(line2)
);     
acc acc0_inst(
       .aclr3(),
       .clock0(clk),
       .dataa_0(line0),
       .datab_0(16'd1),
       .datab_1(16'd2),
       .datab_2(16'd1),
       .result(acc_result0)
       );
acc acc1_inst(
       .aclr3(),
       .clock0(clk),
       .dataa_0(line1),
       .datab_0(16'd2),
       .datab_1(16'd4),
       .datab_2(16'd2),
       .result(acc_result1)
       );
acc acc2_inst(
       .aclr3(),
       .clock0(clk),
       .dataa_0(line2),
       .datab_0(16'd1),
       .datab_1(16'd2),
       .datab_2(16'd1),
       .result(acc_result2)
       );
wire [31:0]gauss_data;
assign gauss_data= (acc_result0 + acc_result1 + acc_result2)>>4;
assign data_out =gauss_data[15:0];
endmodule

IP设置:

波形仿真:

不对之处敬请指出

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-12-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 FPGA开源工作室 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档