Matlab实验一图像变换

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验一图像变换

班级:11电科2 姓名:张俊为学号:Xb11640218

一.实验目的

1.熟悉MATLAB中的图像处理工具箱。

2.熟悉MATLAB中常用的图像处理函数。

3.掌握图像傅里叶变换、离散余弦变换和小波变换的基本原理与实现方法。

二.实验内容

1.熟悉MATLAB图像处理工具箱的功能及常用的图像处理函数。

2.验证课本中的例题,包括例3.4(图像选用lena_color_512.tif)。彩色图像可以直接求傅里叶变换谱吗?为什么?

3.参考例3.2结果图(d)的方法,分别求图像imgBw.png和imgBwR.png的傅里叶频谱。可以得到什么结果?为什么?

4.参考例3.9,分别求图像imgBw.png和imgBwR.png的拉东变换频谱。结果说明了什么?5.imgBlurred.png是一幅有栅格的图像,请求出图像的傅里叶频谱,并通过对傅里叶频谱处理后达到去除栅格噪声的目的。提示:图像中的平坦区域对应低频部分,栅格可以认为是一种正弦波,其对应的频率在频谱图上会出现较高的值,滤去这部分值即可达到目的。同理,如果要给lena_gray_512.tif加上横向的波纹该如何实现?

6.图chestXray_ori.tif是一幅胸部X光图像,由于X光不能像光学透镜那样聚焦,所以图像略显模糊,可以通过高通滤波来达到增强细节的目的。参考例 4.15,1)实现原图的二阶巴特沃斯高通滤波,D0可选图像垂直尺寸的5%。2)实现原图的高频强调滤波,其传递函数为H hfe(u, v)=a+bH hp(u, v)。其中H hp(u, v)同1)。参数a的选择可参考例4.15,一般在区间[0,1]中选择。参数b大于1,可在区间[1,3]中选择不同的参数做测试,以观察不同的效果。3)对2)中的结果应用直方图均衡化提高图像的对比度,参见Matlab 自带函数histeq。分析每个小题中所得结果图并比较,解释产生的原因?

三.实验要求

1.按照要求完成实验内容;

1.figure(1);

A=imread('lena_color_512.tif');

B=rgb2gray(A);

imshow(B);

C=fftshift(fft2(B)); figure(2);

imshow(log(abs(C)),[])

实验结果:

彩色图像不可以直接求傅里叶变换谱

2.

实验结果:

3.

4. clc;clear;

A=imread('imgBlurred.png'); B=rgb2gray(A); subplot(221); imshow(B); d=fft2(double(B)); C=fftshift(d);

subplot(222);

imshow(log(abs(C)),[],'InitialMagnification','fit');

C(129,120)=(C(128,119)+C(128,120)+C(128,121)+C(129,119)+C(129,120)+C(129,121)+C(130,119) +C(130,120)+C(130,121))/8;

C(129,138)=(C(128,137)+C(128,138)+C(128,139)+C(129,137)+C(129,138)+C(129,139)+C(130,137) +C(130,138)+C(130,139))/8;;

D=log(abs(C));

subplot(223);

imshow(D,[]);

D=ifftshift(C);

D=uint8(real(ifft2(C)));

subplot(224);

imshow(D);

实验结果:

(2)%clc;clear;

B=imread('lena_gray_512.tif');

%B=rgb2gray(A);

subplot(221);

imshow(B);

d=fft2(double(B));

C=fftshift(d);

subplot(222);

imshow(log(abs(C)),[],'InitialMagnification','fit');

C(127,129)=(C(126,128)+C(127,128)+C(128,128)+C(126,129)+C(127,129)+C(128,129)+C(126,130)+C(126 ,130)+C(126,130))/2;

C(133,129)=(C(132,128)+C(133,128)+C(134,128)+C(132,129)+C(133,129)+C(134,129)+C(132,130)+C(133 ,130)+C(134,130))/2;

D=log(abs(C));

subplot(223);

imshow(D,[]);

D=ifftshift(C);

D=uint8(real(ifft2(C)));

subplot(224);

imshow(D);

实验结果:

5.clc;close all;clear;

J=imread('chestXray_ori.tif'); figure;

subplot(221);

%imshow(J);

imshow(uint8(J));title('模糊图像原图') J=double(J);

f=fft2(J);

g=fftshift(f);

[M,N]=size(f);

n1=floor(M/2);

n2=floor(N/2);

n=2;d0=20;

%d0=size(f)/20;

for i=1:M

for j=1:N

相关文档
最新文档