数字图像处理报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
中南民族大学
数字图像处理实验报告
学院:电子信息工程学院
专业:光信息
学生学号
实验一图像变换
实验目的
1:了解二维fourier变换的原理
2:掌握二维fourier变换的性质
3:掌握离散余弦变换的原理
实验内容
1.绘制一个二值,并将其傅里叶函数可视化。close all;
clear;
f=zeros(40,40);
f(10:30,10:30)=1;
subplot(1,3,1);
imshow(f);
F=fft2(f);
subplot(1,3,2);
imshow(F);
D=log(1+abs(F));
subplot(1,3,3);
imshow(D);
运行结果:
2.对给定的一副图像saturn2.tif进行傅里叶变换
load imdemos saturn2;
subplot(1,2,1);
imshow(saturn2);
I=fftshift(fft2(saturn2));
subplot(1,2,2);
imshow(log(abs(I)),[]),colormap(jet(64)),colorbar
运行结果:
3.在图像text,tif中定位字母a
w=imread('text.png');
a=w(33:45,88:98);
figure;
imshow(w);
figure;
imshow(a);
C=real(ifft2(fft2(w).*fft2(rot90(a,2),256,256))); figure;
imshow(C,[]);
max(C(:));
thresh=60;
figure;
imshow(C>thresh);
运行结果:0 5 10
4.对一幅图进行离散余弦变换和反变换
RGB=imread('autumn.tif');
figure(1),imshow(RGB);
I=rgb2gray(RGB);
figure(2),imshow(I);
J=dct2(I);
figure(3),imshow(log(abs(J)),[]),colormap(jet(64)),colorbar; J(abs(J)<10)=0;
K=idct2(J)/255;
figure(4),imshow(K);
10
5
-5
思考题
1.编写M程序文件验证二维傅里叶变换的平移性,旋转性
clear all;
image1=zeros(128,128);
image1(30:93,52:67)=1;
subplot(2,2,1);
imshow(image1,[]);
title('原始图像');
image2=abs(fft2(image1));
subplot(2,2,2);
imshow(log10(1+image2),[]);
title('频谱');
image3=image1;
i=size(image1,1);
j=size(image2,2);
for k=1:i
for r=1:j
image3(k,r)=(-1)^(k+r).*image1(k,r);
end
end
image4=abs(fft2(image3));
subplot(2,2,3);
imshow(image3,[])
title('中心化后的图像');
subplot(2,2,4);
imshow(log10(1+image4),[]);
title('中心化后的频谱');
image5=zeros(i,j);
i=round(i/2)
j=round(j/2)
for u=-i:i
for v=-j:j
m=cos(pi/4)*u-sin(pi/4)*v;
n=sin(pi/4)*u+cos(pi/4)*v;
m=round(m);
n=round(n);
if abs(m)
image5(u+i+1,v+j+1)=image1(m+i,n+j);
end
end
end
figure
subplot(2,1,1);
imshow(image5,[]);
image6=abs(fft2(image5));
subplot(2,1,2);
imshow(log10(1+image6),[]);
运行结果
实验二 图像的空间变换增强
实验目的
1:掌握图像的直方图均衡化的原理与应用 2:掌握灰度变换的原理与应用 3:掌握伪彩色图像处理增强的方法
实验内容
1.MATLAB 提供的直方图修正函数
I=imread('pout.tif'); subplot(221); imshow(I); subplot(222); imhist(I);
J=histeq(I,64); subplot(223); imshow(J); subplot(224);
imhist(J);
00
100
200
00
100
200