实验分析
本实验要求用Matlab软件完成对图像信息的处理。
对于任务1,这里采用了一张jpg格式的张学友新专辑《醒着做梦》的封面图片,保存在Matlab的work文件夹下。采用imread()函数读取,并利用rgb2gray()函数将其转化为二维的灰度图像(原始的数据类型是unit8型,需要将其转化为可用于计算的double类型),并利用imshow()函数将其显示出来;
对于任务2,在加入噪声前,需要先将二维数据利用循环嵌套语句转化为一维数据,然后加入三个高频噪声,再利用循环嵌套语句转化为二维的数据,利用imshow()函数显示出来;
对于任务3,这里分别设计了满足一定指标的IIR低通滤波器(巴特沃斯)和FIR低通滤波器(哈明窗)并对其相关指标进行了分析。
对于任务4,利用任务3中设计好的两个滤波器分别对加噪后的灰度图像进行滤波(filter()函数),并分别显示滤波后的灰度图像;
对于任务5,利用快速傅里叶变换算法(FFT)对各阶段数据分别进行频谱分析,并将它们的频谱绘制在同一张图上作为对比。
Matlab代码
clc;close all;clear all;
%%图像的读取以及转换
x=imread('hh.jpg');%读取jpg图像
x1=rgb2gray(x);%生成M*N的灰度图像矩阵
[M,N]=size(x1);%求图像规模
%%生成原始序列并求频率响应
x2=im2double(x1);
x3=zeros(1,M*N);%初始化
for i=1:M
for j=1:N
x3(N*(i-1)+j)=x2(i,j);
end
end %将M*N维矩阵变成1维矩阵
fs=1000;%扫描频率1kHz
T=1/fs; %扫描时间间隔