Matlab实验一图像变换
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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