用MATLAB进行对图像滤波,应用Matlab对图像信号进行频谱分析及滤波

实验分析

本实验要求用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; %扫描时间间隔

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值