6实验指导书-专业课程设计I-信工 - 图文(6)

2019-08-03 10:13

f1=ifft2(F1); %逆傅里叶变换恢复图像

subplot(1,3,3),,imshow(uint8(f1)),title('IFFT恢复的图像'); %主程序到此结束,

图1 实验结果

2、图像的DCT变换实验。

n 在Matlab中,建立M文件Lab4_Test2.m,编写如下代码,打开灰度图像,进行DCT变换,显示频谱

并进行IDCT变换恢复图像。代码如下: function Lab4_Test2()

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% clc;close all;clear all;

%说明:打开进行DCT变换,显示频谱,再进行IDCT变换恢复图像 %1 打开图像

Img = imread('lena.jpg'); %打开图像 [H,W,dim] = size(Img); if (dim>1)

Img =rgb2gray(Img); %若打开的为彩色图像,则先转化成灰度图像 end

figure,subplot(1,3,1),,imshow(Img),title('原图像'); %2 图像DCT变换及频谱 F=dct2(Img);

%计算二维傅里叶变换

%显示变换后的频谱图

subplot(1,3,2),,imshow(log(abs(F)+1),[0 10]),title('DCT频谱'); %3 图像IDCT变换 f1=idct2(F);

subplot(1,3,3),,imshow(uint8(f1)),title('IDCT恢复的图像'); %主程序到此结束,

图2 实验结果

23

3、图像FT旋转定理验证实验。

n 在Matlab中,建立M文件Lab4_Test3.m,编写如下代码,验证FT中旋转定理。代码如下: function Lab4_Test3()

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% clc;close all;clear all;

%说明:验证FT中旋转不变定理,即二维离散傅里叶变换的旋转性。 %1 构造原始图像 I=zeros (256, 256); I(28:228, 108:148)=1;

figure,subplot(2,2,1),imshow(I),title('原图像'); %2 求原始图像的傅里叶频谱 F1=fft2(I); F1=abs(F1); F1=fftshift(F1);

subplot(2,2,2), imshow (F1,[5 50]),title('原图像频谱') %3 对原始图像进行旋转 J=imrotate(I,315,'bilinear','crop'); subplot(2,2,3),imshow(J),title('旋转图像') %求旋转后图像的傅里叶频 J1=fft2(J); F=abs(J1); J2=fftshift(F);

subplot(2,2,4),imshow(J2,[5 50]),title('旋转图像频谱') %主程序到此结束,

图3 实验结果

注:根据上述方式,自己编程验证“平移”、“尺度”等定理。

4、基于DCT的图像数据压缩实验。

n 在Matlab中,建立M文件Lab4_Test4.m,编写如下代码,对图像进行DCT变换,然后将四分三的系

数变为0(相当于丢弃),再进行IDCT恢复。代码如下:

function Lab4_Test4()

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% clc;close all;clear all;

24

I= imread('lena.bmp'); J=dct2(I); %进行余弦变换 figure,

subplot(1,3,1),imshow(I),title('原图像')

subplot(1,3,2),imshow(log(abs(J)),[]),title('DCT频谱') [H W]=size(J);

J(H/2:H,:)=0; %下半部分变为0 J(:,W/2:W)=0; %右半部分变为0 K=idct2(J)/255; %进行余弦反变换 subplot(1,3,3),imshow(K),title('压缩后的恢复') %主程序到此结束,

图4 实验结果

五、实验内容及要求

1、在MATLAB中,严格完成上述实验内容,且分析比较实验结果; 2.参照上述程序,自己编程实现:

1)编写函数,实现图像的FT与DCT频谱分析功能;

2)编写函数,实现图像的FT定理(平稳与卷积定位)进行验证;

3.查找资料,在VS2010环境中,掌握OpenCV图像变换(如:FT,DCT)函数的用法,用其对对图像进行变换,观察图像频谱。

25

实验五:频域滤波图像增强实验

一、实验目的

1、掌握常用频域低、高通滤波器的设计;

2、理解图像频谱的特点和频域低、高通滤波的原理; 3、理解周期噪声图像的频谱规律、掌握亮度成像原理; 4、掌握交互消噪及光照校正滤波器设计方法;

5、利用MATLAB语言自己实现相关算法,熟悉用于图像消噪及光照不匀校正处理,提高学生编程动手能力,培养学生分析解决问题的能力。

二、实验设备:

1、PC机或笔记本电脑,Windows操作系统; 2、安装Matlab软件,准备实验相关图像或M文件;

3、按照如下实验内容与步骤,编写相应Matlab程序,完成实验任务。 三、实验原理

1、低通滤波器

二维理想低通滤波器的传递函数为:

H(u,v)=í

ì1.D(u,v)£D0

0.D(u,v)>D?0

D0是指定非负数值,D(u,v)是(u,v)点距频率中心的距离。如果要研究的图像尺寸为M X N,则

它的变换也有相同的尺寸。在半径为D0的圆内,所有频率无衰减地通过滤波器,而在此半径之外的所有频率完全被衰减掉。

巴特沃斯低通滤波器的传递函数为: H(u,v)=

1

D(u,v)2n1+[]

D0

式中D0为截止频率距远点距离。一阶巴特沃斯滤波器没有振铃。在二阶中振铃通常很微小,但在阶数增高时振铃便成为一个重要因素。

2、高通滤波器

二维理想高通滤波器的传递函数为:

H(u,v)=í

ì0.D(u,v)£D0

1.D(u,v)>D?0

D0是从频率矩形中点测得的截止频率长度,它将以D0为半径的圆周内的所有频率置零,而毫不衰减地通过

圆周外的任何频率。但其物理上是不可实现的。

巴特沃斯高通滤波器的传递函数为: H(u,v)=

1

D02n

1+[]

D(u,v)

式中D0为截止频率距远点距离。与低通滤波器的情况一样,可认为巴特沃斯高通型滤波器比IHPF更平滑。

高斯高通滤波器传递函数为:

26

H(u,v)=1-e-D

2

2

(u,v)/2D0

高通滤波器能够用高斯型低通滤波器的差构成。这些不同的滤波器有更多的参数,因此能够对滤波器的形状进行更多的控制。

1、带阻滤波器:阻止一定频率范围内的信号通过,而允许其它频率范围内的信号通过; 放射对称的理想带阻滤波器,它的转移函数是:

ì1if?

H(u,v)=í0if

?1if?

其中:W为带宽,D0为放射中心。

D(u,v)

D0-W2£D(u,v)£D0-W2 D(u,v)

2、带通滤波器:带通滤波器和带阻滤波器是互补的。带通滤波器只需对带阻滤波器翻转即可,即:

HP(u,v)=-[HR(u,v)-1]=1-HR(u,v)

如果利用带通滤波器把某个带中频率分量提取出来,然后将其从图像中减去,也可获得消除或减弱图像中某个频率范围内的分量的效果。

3、同态滤波:同态滤波过程的完整框图如下所示:

四、练习内容

启动电脑,打开MATLAB编程编程环境,依次完成下列所有实验: 1、理想低通滤波实验。

n 在Matlab中,建立M文件Lab5_Test1.m,编写如下代码,实现理想低通滤波图像平滑。代码如下: function Lab5_Test1_ILPF()

%功能:理想低通滤波对带噪图像进行平滑处理 clc;close all;clear all; I1=imread('lena.jpg');

I1=rgb2gray(I1); %转化为灰度图像 I2=imnoise(I1,'salt & pepper'); %加上椒盐噪声 figure, subplot(1,3,1),imshow(I1),title('原图')

subplot(1,3,2),imshow(I2),title('加噪声的图像') %1 对图像进行FFT变换 F=fftshift(fft2(I2)); %2 生成滤波函数H

[M,N]=size(F); %分别返回s的行数到M中,列数到N中 n1=floor(M/2); %对M/2进行取整 n2=floor(N/2); %对N/2进行取整 %ILPF滤波,d0=5,20,50 (程序中以d0=5为例) d0=50; %初始化d0 for i=1:M for j=1:N

27


6实验指导书-专业课程设计I-信工 - 图文(6).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2016-02-23 合作共赢 - 共谋发展 - 福林气体双方高层会面 - 图文

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: