声明:主要程序及架构思想均来自徐文波、田耘《Xilinx FPGA开发实用教程(第二版)》,本人在学习过程中按照书上指导将其实现,将其拿出与初学者交流分享。所有步骤均经过验证(并修正了书上若干细节小错误)。O(∩_∩)O~
入门fpga,根据网上推荐的一本书(上面提到的那本),写的不错,适合入门,第四章末尾有个Matlab、ISE联合开发实例:中值滤波,于是就跟着书上的步骤实现了一遍,没有这本书的看到这篇文章可供参考
一、中值滤波的Matlab实现
原理:中值滤波是针对二维图像(即灰度图像)而言,将某个像素点的值用它所处的领域(一般为3*3,我称之为九宫格)的中间值代替。这种简单的做法对滤除椒盐噪声(又叫蚊式噪声)很有效。
clear;
clc
s=load('demo.mat');
demo=s.image;%载入RGB图像文件(三维矩阵)
demo=rgb2gray(demo);%转化为灰度图像(二维矩阵)
figure;%显示原始图像
imshow(demo);
[a,b]=size(demo);
dout=uint8(zeros(a,b));%转化为uint8型(默认为double)
len=(a-2)*(b-2);%分割成len个3*3九宫格
for i=2:a-1
for j=2:b-1
tmp=demo(i-1:i+1,j-1:j+1);