数字图像处理上机作业
上机报告怎么写
上机报告怎么写
上机报告是大学课程中常见的作业形式,它旨在让学生能够将
理论知识应用到实际操作中,以加强自己的实践能力和技能水平。然而,很多学生在写这种报告时会感到无从下手,不知道如何编写。本文将为大家详细介绍上机报告的写作方法。
1. 报告结构范例
上机报告的结构包括:标题、目的、方法、结果、分析与结论
和参考文献等几个部分。以“Java实现数字图像处理算法”为例,
下面是结构范例:
标题:Java实现数字图像处理算法
目的:研究数字图像处理算法在Java语言中的实现方法,并对
其性能进行测试,探索Java平台在数字图像处理领域的应用价值。
方法:选取了4种常用的数字图像处理算法:灰度化、边缘检测、二值化和图像压缩,通过Java的图像处理类库和算法实现这
些算法,并对比分析了速度和效果。
结果:通过实验比对,发现Java实现数字图像处理算法的效率较高,同时最终效果也能达到较好的标准。
分析与结论:Java在数字图像处理领域中的应用前景广阔,我们可以通过Java提供的强大的类库及算法,在实际应用中有效地提高处理效率,并且在程序的可扩展性、稳定性、和可靠性等方面也表现优异。
参考文献:(此处省略)
2. 提炼题意,明确要点
在写作前,必须要搞清楚整个上机报告的题目意图和要点,然后再着手思考各个部分应当包含什么要素。这样可以提高写作的效率和准确度。比如,在写“Java实现数字图像处理算法”的报告中,可以先明确以下问题:这个算法的目的是什么?它包括哪些具体的实现步骤?其中用到了哪些Java类和方法?这个算法的优点和不足在哪里?
数字图像处理大作业
1、下图是一用于干涉原理进行测试的干涉场图像,要求判读条纹的间距,请给
出图像处理的方案并说明每一步的作用及其对其它处理步骤可能产生的影响。
解:步骤与思路:
○1.进行模糊处理,消除噪声
○2.边缘检测,进行图像增强处理
○3.二值化图像,再进行边缘检测,能够得到很清晰的边界。
○4.采用横向标号法,根据值为1像素在标号中的相邻位置可以确定间距
I=imread('xz mjt.bmp');
I1=medfilt2(I); %对图像中值滤波
imshow(I1);
[m,n]=size(I1);
for i=1:m
for j=1:n
if(I1(i,j)<100) %阈值为100
I1(i,j)=255;
else
I1(i,j)=0; %进行二值化
end
end
end
figure;
imshow(I1);
Y1=zeros(1,25);
y2=y1;
c=y2;
i=100;
for j=1:1200
if (I1(i,j)==255&&I1(i,j+1)==0)
Y1=j+1;
end
if (I1(i,j)==0&&I1(i,j+1)==255)
Y2=j;
end
end
for i=1:25
c=Y2(i)-Y1(i)
end
c %找出每两个条纹之间的距离
2. 现有8个待编码的符号m0,……,m7,它们的概率分别为0.11,0.02,0.08,0.04,0.39,0.05,0.06,0.25,利用哈夫曼编码求出这一组符号的编码并画出哈夫曼树。
3. 请以图像分割方法为主题,结合具体处理实例,采用期刊论文格式,撰写一篇小论文。
各种算子对图像进行边缘检测效果的研究
数字图像处理上机作业五
数字图像第四讲作业
1.设计一个程序对受到高斯白噪声及椒盐噪声干扰的图像进行
3x3,5x5邻域的平均平滑以及中值滤波. (添加噪声参看imnoise 函数, 空域卷积可用imfilter2函数实现)。
分析:1.邻域平均平滑可以采用imfilter函数,选择正确的卷积核就可以进行相
应的邻域平均平滑操作了。3x3的卷积核为:
H1=1/8*[1 1 1
1 0 1
1 1 1];
5x5的卷积核为:H2=1/24*[1 1 1 1 1
1 1 1 1 1
1 1 0 1 1
1 1 1 1 1
1 1 1 1 1 ];
2.中值平滑可以先编写中值平滑子函数zhongzhi(),然后在主函数中调
用即可。以3*3中值平滑为例来分析其操作过程,3*3中值平滑就是
将以各项素为中心的9个像素值的中间值作为平滑后的新的像素值
赋给该像素。因此可以通过I(i-1:i+1,j-1:j+1)得到对应于I(i,j)点的九个
像素值,然后在由median函数可求出这九个值的中值,赋给新矩阵
的(i,j)点即可。
注意I(i-1:i+1,j-1:j+1)操作可能会有i-1=0,j-1=0或i+1、j+1大于矩阵最大行列数的情况,从而出现错误。在这里我的处理是在I
矩阵的外围补上一圈0,即出现上述情况时像素值以0来代替。具
体代码为:
I0=zeros(m+2,n+2);
for i=2:m+1
for j=2:n+1
I0(i,j)=I(i-1,j-1);
end
end
同理,5*5的中值平滑也可以同样操作,只不过是在外围补上两圈零而已。
代码及注释如下:
图像处理上机实验
作业一:使用直方图均衡增强测试图片testimg.txt
图像增强定义:增强图像中的有用信息,改善图像的视觉效果。
方法:空间域法,频率域法
空间域法:直方图均衡
1. 直方图的定义:
2. 方法:累积分布函数
一是为什么要选用累积分布函数?
二是为什么使用累积分布函数处理后像素值会均匀分布?
第一个问题。均衡化过程中,必须要保证两个条件:①像素无论怎么映射,一定要保证原来的大小关系不变,较亮的区域,依旧是较亮的,较暗依旧暗,只是对比度增大,绝对不能明暗颠倒;②如果是八位图像,那么像素映射函数的值域应在0和255之间的,不能越界。综合以上两个条件,累积分布函数是个好的选择,因为累积分布函数是单调增函数(控制大小关系),并且值域是0到1(控制越界问题),所以直方图均衡化中使用的是累积分布函数。
累积分布函数定义:
其中,n是图像中像素的总和,是当前灰度级的像素个数,L是图像中可能的灰度级总数。
来看看通过上述公式怎样实现的拉伸。假设有如下图像:
得图像的统计信息如下图所示,并根据统计信息完成灰度值映射:
映射后的图像如下所示:
作业二:使用2D DCT变换将testimg.txt转换到频域,并输出结果。要求以8x8为处理单元。
注:不能使用任何matlab和opencv自带的处理函数。
数字图像处理上机作业
数字图像处理上机实验题
一、产生右图所示图像f1(m,n),其中图像大小为256×256,中间亮条为128×32,暗处
=0,亮处=100。对其进行FFT:
1、屏显示原图f1(m,n)和FFT(f1)的幅度谱图;
2、令f2(m,n)=(-1)^(m+n)*f1(m,n),重复以上过程,比较二者幅度谱的异同,简述理由;
3、若将f2(m,n)顺时针旋转90 度得到f3(m,n),试显示FFT(f3)的幅度谱,并与FFT(f2)
的幅度谱进行比较;
4、若将f1(m,n) 顺时针旋转90 度得到f4(m,n),令f5(m,n)=f1(m,n)+f4(m,n),试显示FFT(f5) 的幅度谱,并指出其与FFT(f1)和FFT(f4)的关系;
5、若令f6(m,n)=f2(m,n)+f3(m,n),试显示FFT(f6)的幅度谱,并指出其与FFT(f 2)和FFT(f3) 的关系,比较FFT(f6)和FFT(f5)的幅度谱。
代码
f1=zeros(256,256);
for i =64:1:191
for j = 112:1:143
f1(i,j) = 100;
end
end
f2 = fft2(f1);
%f2(m,n) = f3
f3 = ((-1)^(i+j))*f1;
f4 = fft2(f3);
%f3(m,n) = f5
f5 = imrotate(f3,90,'bilinear');
f6 = fft2(f5);
%f4(m,n) = f7
f7 = imrotate(f1,90,'bilinear');
f8 = fft2(f7);
数字图像处理上机实验三
医学图像处理实验三1、计算图像的梯度,梯度值和梯度角。
I=imread('C:\Users\Administrator\Desktop\cat.jpg'); B=rgb2gray(I);
C=double(B);
e=1e-6;%10^-6
[dx,dy]=gradient(C);%计算梯度
G=sqrt(dx.*dx+dy.*dy);%梯度幅值
figure,imshow(uint8(G)),title('梯度图像');
pha=atan(dy./(dx+e))
figure,imshow(pha,[])
图 1
图 2 梯度角图
2、计算图像边缘检测,用滤波器方式实现各种算子。
(1)Roberts算子
clear;
I=imread('C:\Users\admin\Desktop\mao.jpg');
B=rgb2gray(I);
[m,n]=size(B);
nB=B;
robertsnum=0;%经roberts算子计算得到的每一个像素的值robertsthreshold=0.6;%设定阈值
for j=1:m-1;%进行边界提取
for k=1:n-1
robertsnum=abs(B(j,k)-B(j+1,k+1))+abs(B(j+1,k)-B(j,k+1)); if(robertsnum>robertsthreshold)
nB(j,k)=255;
else
nB(j,k)=0;
end
end
end
subplot(1,2,1);imshow(B);title('原图');
subplot(1,2,2);imshow(nB,[]);title('Robert算子处理后的图像');
(完整版)数字图像处理大作业
数字图像处理
1.图像工程的三个层次是指哪三个层次?各个层次对应的输入、输出对象分别是什么?
①图像处理
特点:输入是图像,输出也是图像,即图像之间进行的变换。
②图像分割
特点:输入是图像,输出是数据。
③图像识别
特点:以客观世界为中心,借助知识、经验等来把握整个客观世界。“输入是数据,输出是理解。
2.常用的颜色模型有哪些(列举三种以上)?并分别说明颜色模型各分量代表的意义。
①RGB(红、绿、蓝)模型
②CMY(青、品红、黄)模型
③HSI(色调、饱和度、亮度)模型
3.什么是图像的采样?什么是图像的量化?
1.采样
采样的实质就是要用多少点来描述一幅图像,采样结果质量的高低就是用前面所说的图像分辨率来衡量。简单来讲,对二维空间上连续的图像在水平和垂直方向上等间距地分割成矩形网状结构,所形成的微小方格称为像素点。一副图像就被采样成有限个像素点构成的集合。例如:一副640*480分辨率的图像,表示这幅图像是由640*480=307200个像素点组成。
2.量化
量化是指要使用多大范围的数值来表示图像采样之后的每一个点。量化的结果是图像能够容纳的颜色总数,它反映了采样的质量。
针对数字图像而言:
采样决定了图像的空间分辨率,换句话说,空间分辨率是图像中可分辨的最小细节。
量化决定了图像的灰度级,即指在灰度级别中可分辨的最小变化。
数字图像处理(第三次课)
调用图像格式转换函数实现彩色图像、灰度图像、二值图像、索引图像之间的转换。
图像的类型转换:
对于索引图像进行滤波时,必须把它转换为RGB图像,否则对图像的下标进行滤波,得到的结果是毫无意义的;
数字图像处理上机
数字图像处理上机
班级:
学号:
姓名:
1. 产生右图所示亮块图像 f i(x,y)(128 X 128大小,暗处=0,亮处=255),对其进行
FFT:
(1)同屏显示原图f i和FFT(f i)的幅度谱图;
(2)若令f2(x,y)= (-1)x+y f1(x,y),重复以上过程,比较二者幅度谱的异同,简
述理由;
(3)若将f2(x,y)顺时针旋转45度得到f3(x,y),试显示FFT(f3)的幅度谱,并与FFT(f 2)的幅度谱进行比较。
解答:
(1)图像:
(2)图像:
相同点:频谱的实质没有改变,幅度等都没有发生变化。
不同点:f2的频谱是对fl频谱的移位,它时fl的频谱从原点(0, 0)移到了中心(64, 64), 而得到了一个完整的频谱。
(3) 图像:
R(x y)原厨13(x.y)幅庭谱
图
程序:f仁zeros(128,128);
for i=38:1:90
for j=58:1:70
f1(i,j)=255;
end
end
figure(1)
subplot(1,2,1);
imshow (f1);
subplot(1,2,2);
imshow (fft2(f1));
% f2(x,y)= ( -1)^(x+y)* f1(x,y)
for i=1:1:128
for j=1:1:128 f2(i,j)=(-1)A(i+j)*f1(i,j);
end
end figure(2);
subplot(1,3,1);
imshow (f2);
f3=imrotate(f2,-45,'bilinea。;%将f2 顺时针旋转45 度
subplot(1,3,2);
数字图像处理作业题目
数字图像处理作业
班级:Y100501
姓名:雷锋
学号:000000001
一、编写程序完成不同滤波器的图像频域降噪和边缘增强的算法并进行比较,得出结论。
频域降噪。对图像而言,噪声一般分布在高频区域,而图像真是信息主要集中在低频区,所以,图像降噪一般是利用低通滤波的方法来降噪。边缘增强。图像的边缘信息属于细节信息,主要由图像的高频部分决定,所以,边缘增强一般采取高通滤波,分离出高频部分后,再和原频谱进行融合操作,达到边缘增强,改善视觉效果,或者为进一步处理奠定基础的目的。
1频域降噪,主程序如下:
I=imread('lena.bmp'); %读入原图像文件
J=imnoise(I,'gaussian',0,0.02);%加入高斯白噪声
A=ilpf(J,0.4);%理想低通滤波
figure,subplot(222);imshow(J);title('加噪声后的图像');
subplot(222);imshow(A);title('理想低通滤波');
B=blpf(J,0.4,4);%巴特沃斯低通滤波
subplot(223);imshow(B);title('巴特沃斯低通滤波');
C=glpf(J,0.4);%高斯低通滤波
subplot(224);imshow(C);title('高斯低通滤波');
用到的滤波器函数的程序代码如下:
function O=ilpf(J,p) %理想低通滤波,p是截止频率
[f1,f2]=freqspace(size(J),'meshgrid');
hd=ones(size(J));
数字图像处理上机作业二
数字图像第二讲作业
1.设计一个程序,对一幅灰度图像实现直方图均衡化处理。画出均
衡化前后的图像及其直方图.
分析:要实现对一幅灰度图直方图的均衡化处理,须经四步来完成。首先,获
得直方图,及各灰度值对应像素数占总像素数的比例,用矩阵c表示,这是第一次直方图作业的内容。第二步对c求累加和,得到s矩阵。第三步,对s进行合理的近似,得到均衡图中的灰度等级。这里我的处理办法是对s执行s*255操作,得到的值再取uint8(),这样就实现了对s*255的合理近似,即四舍五入,从而得到了新的灰度等级d。第四步,赋予各像素点新的灰度值,计算出不同灰度等级对应的比例值Ps(sk),这里我用:
for j=1:256
p(d(j)+1)=p(d(j)+1)+c(j);
I2(find(I==j))=d(j);
end
来求得Ps(sk),循环的作用是将灰度等级d(j)相同的各j对应的原灰度值比例c 累加起来。I2(find(I==j))=d(j)是将灰度值为j的像素点的灰度值换为d(j);p(d(j)+1)中加1的作用是避免出现p(0)而进行的处理。
代码及注释如下:
function junheng(x) % x为要分析的图像名加单引号
I=imread(x);
b=size(I);
a=zeros(1,256); %a为一个1*256的矩阵分别记录灰度为0到255的像素的个数
for m=1:b(1) %两个for语句将整张图的所有像素都扫描一遍for n=1:b(2)
a(I(m,n)+1)= a(I(m,n)+1)+1; %将灰度为I(m,n)的像素个数存储
数字图像处理上机作业三
数字图像第三讲作业
1.绘制一幅人像或风景图像的幅频图及相频图,并由幅频图及相频图重建空
间域图像.(使用fft2,ifft2,fftshift函数)
分析:fft2函数可以用来对图相求二维傅里叶变换,fft2作用后得到的只是很大的,要先对它除以图像的像素点个数m*n再进行幅频响应与相频响应的求解。这是得到的频率响应是以(0,0)像素点为频率零点的,我们知道频率响应是关于原点对称的,因此在fft2后通过ifft2可将频率原点移至图像中心点,这样便于对频响的对称性进行观察。abs函数得到幅频度,可经log调整为人眼敏感的范围,如:mag=log(1+50*abs(I2));相频响应可由angle函数获得。最后通过fftshift函数可对频率响应进行空间域图像的重建。
代码及注释如下:
function fuliye(x)
I=imread(x);
[m,n]=size(I);
I1=fft2(single(I)); %fft2函数要求输入矩阵为single或double型
I2=fftshift(I1/m/n);
mag=log(1+50*abs(I2)); %abs函数得到幅度,经log调整为人眼敏感的范围phase=angle(I2); %angle函数得到相角
imshow(mag);title('幅频图')
figure
imshow(phase);title('相频图')
I3=uint8(ifft2(I1)); %ifft2进行二维傅里叶反变换
figure
imshow(I3);title('原图')
数字图像处理上机作业一.
数字图像处理上机作业一
1.设计一个程序,绘制出一幅灰度图象的直方图。
Solution:
代码及代码的说明:
%作用:返回灰度矩阵a,并画出直方图
function a=zhifangtu(x) % x为要分析的图像名加单引号
I=imread(x);
b=size(I);
a=zeros(1,256); % a为一个1*256的矩阵分别记录灰度为0到255的像
%的个数
for m=1:b(1) %两个for语句将整张图的所有像素都扫描一遍for n=1:b(2)
a(I(m,n)+1)= a(I(m,n)+1)+1; %将灰度为I(m,n)的像素个数存储
在%a(I(m,n)+1)中,因为matlab里没
有%a(0)
end
end
n=0:255;
bar(n,a);%画出直方图
s=sum(a) %查看直方图的总的面积等于这张图的总像素值实验结果及分析:
在命令窗口中输入zhifangtu('Lenna.bmp')
返回s =262144,以及灰度矩阵a,同时有如下直方图输出:
分析及结论:
在命令窗口中用size命令可查知Lenna.bmp是512*512的,返回的s =262144恰等于512*512,说明所编的直方图的程序恰将所有的像素点都统计了,直方图的总面积等于像素总数。直方图的作用也就是将一张图中不同灰度值对应像素数的一个统计。
在这个程序的编写中应注意a(I(m,n)+1)= a(I(m,n)+1)+1 不能写成a(I(m,n))= a(I(m,n))+1 ,应为在matlab中矩阵表示没有a(0),若某个像素点的灰度值是0,就会出错,故应写成a(I(m,n)+1)= a(I(m,n)+1)+1形式。
数字图像处理作业
DISP1
1、说明图象数字化与图象空间分辨率之间的关系。
答:图像数字化包括两个过程:采样和量化。而图像的空间分辨率是在图像采样过程中选择和产生的。空间分辨率用来衡量数字图像对模拟图像空间坐标数字化的精度。
2、说明图象数字化与图象灰度分辨率之间的关系。
答:图像数字化包括两个过程:采样和量化。而图像灰度分辨率是在图像量化过程中选择和产生的。灰度分辨率是只对应同一模拟图像的亮度分布进行量化操作所采用的不同量化级数,也就是说可以用不同的灰度级数来表示同一图像的灰度分布。
3、看图说明伪彩色图象采集卡的工作原理,并说明LUT的原理和作用。
答:模拟图像数据由摄像头采集后,经A/D转换器处理,转化成数字信号,传给帧处理器经过其处理后,然后查询LUT表,经过D/A转换器输出RGB三色。LUT(显示查找表)实际上就是一张像素灰度值的映射表,它将实际采样到的像素灰度值经过一定的变换,变成了另外一个与之对应的灰度值,这样可以很容易根据需求得到相应的颜色,它的优点在于易于调整、起到突出图像的有用信息、增强图像的光对比度的作用。
DISP2
1、粗略画出下列图象的傅立叶变换图象:
变换后的图像如下:(从左至右)
2、证明付里叶变换的可分离性及快速算法可行性。
答:可分离性:对于二维傅里叶变换,若把y看成一个常数,则可得到沿x方向的
u=0,1,……,N-1的一维傅里叶变换,再将y看成一个变量,x不变,则可得到y方向上
v=0,1,……,N-1的一维傅里叶变换,因此二维傅里叶变换可分离。快速算法可行性:假设N是2的L次方,对于有N个点的傅里叶变换,需要完成N*N次复数乘法和N*(N-1)次复数加法,而对于快速算法,则有(N/2)*L个蝶形算法,因此运算量为(N/2)*㏒2N个复乘和N㏒2N个复加,在N较大时,计算量比DFT少很多。
《数字图像处理》上机实验报告4
《数字图像处理》上机实验报告4
数字图像处理上机实验报告
实验名称:彩色图像处理
学期:2014/2015上学期
班级:电子1102班
姓名:陈玮
学号:3110209424
实验时间:2014.11.24
实验四彩色图像处理
1 目的
1.了解彩色图像导入到Matlab中的书籍结构,掌握对R,G,B分量的表示方法;
2.了解彩色图像处理的基本原理和方法;
3.掌握彩色图像与灰度图像质检相互转化的基本原理
2器材
(1)bmp格式灰度图像(2)matlab软件(3)台式PC
3原理
1彩色图像及其增强方法
(1)图像增强
图像增强就是通过对图像的某些特征,如对比度、轮廓等进行强调,使之更适合于人眼的观察或机器处理的一种技术。
图像增强技术分为两大类,一类是空间域方法,即在图像平面对图像的像素灰度值进行运算处理的方法;另一类是频率域方法,是指在图像的频率域中对图像进行某种处理[1]。
(2)彩色图像与灰度图像区别
彩色图像和灰度图像的根本区别是:在彩色图像中,每个像素用一个矢量(一般包括三个分量)来表示,即R分量、G分量和B分量。而灰度图像每一个像素只用一个标量来表示。这样,处理彩色图像时处理的是矢量,处理灰度图像处理的是标量。我们也可以把彩色图像
中的三个分量分开,分别计算加工再进行结合,这种处理技术称为基于单色的技术。如果不把这三个分量分开计算,而是根据矢量规范将彩色信息当矢量空间中的彩色矢量来进行加工,这样的技术称为矢量值技术。
2.彩色空间简介 (1)RGB 彩色空间简介
一幅RGB 图像就是彩色像素的一个3M N ??数组,其中每一个彩色像素点都是在特
数字图像处理作业题
16.试给出变换方程t(z),使其满足在10<=z<=100范围内,t(z)是log(z)的线性函数。
解:根据灰度变换公式,得
t(z)=[(100-10)/(log100-log10)](log(z)-log10)+10
=90log(z)-80
易验证t(z)是log(z)的线性函数,且在变换域10<=z<=100内满足10<= t(z)<=100
解:BYTE LUT[256]
for(p=0;p<256;p++) LUT[p]=F(p);
for(i=0,pCUR=Img;i<262144;i++) *(pCur++)=LUT[*pCur];
10.试给出把灰度范围(0,10)拉伸到(0,15),把灰度范围(10,20)拉伸到(15,25),并把灰度范围(20,30)压缩为(25,30)的变换方程。
5.现有一家公司欲进行印鉴比对系统的开发,要求支票上的印鉴能与印鉴库中存放的标准印鉴进行比对,即重合后求某种形式的图像差,分辨率200dpi,标准印鉴为二值图像。请你设计一个软、硬件系统实现其功能,画出框图及软件流程,对各软件模块的算法说明越详细越好。
解:
硬件系统:
软件系统:
6.在(2k+1)×(2k+1)邻域用简单的局部平均法平滑图像,经过m次迭代后,其结果相当于在多大的邻域内求平均。
数字图像处理处理大作业实验报告
数字图像处理处理大作业实验报告
数字图像处理处理大作业实验报告
PB11210***上上签
MyZenith.N_3104_EVER
实验一题目:线性插值改变图像大小
实验目的:
1、使用MATLAB编程实现对图片大小的改变操作,使所给图片达到所要求的效果。
2、通过对MATLAB的编程加强对图像处理的认识,初步学习MATLAB在图像处理中的基本应用
实验内容:
在这一项目中,同学们需要实现基于双线性插值的图像缩放算法。作业中需实现如下功能:
(a) 能够利用鼠标从实验图像中任意选取测试区域,并单独显示。
(b) 使用双线性插值算法对测试区域进行缩放处理,输出如下结果,放大到原始分辨率的2倍,放大到原始分辨率的4倍,缩小到原始分辨率的1/2倍。
实验原理:图像某点的值由最邻近的四个点联立方程决定。实验代码:
1、在主函数中,使用switch函数分别调用子函数,并且之前选择
需要放大或者缩小的倍数。代码如下:
2、 choice=('Yes');
3、
4、
5、
6、
7、
8、while (minus(choice,('Yes'))==0) clear;close;
F=imread('monarch.bmp'); I=imcrop(F); BR=I(:,:,1); BG=I(:,:,2); BB=I(:,:,3); [rows,cols]=size(BR);
K = sqrt(str2double(inputdlg('·?±???', 'INPUT scale
factor', 1, {'2'})));
9、 width = K * rows;
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数字图像处理上机实验题
一、产生右图所示图像f1(m,n),其中图像大小为256×256,中间亮条为128×32,暗处
=0,亮处=100。对其进行FFT:
1、屏显示原图f1(m,n)和FFT(f1)的幅度谱图;
2、令f2(m,n)=(-1)^(m+n)*f1(m,n),重复以上过程,比较二者幅度谱的异同,简述理由;
3、若将f2(m,n)顺时针旋转90 度得到f3(m,n),试显示FFT(f3)的幅度谱,并与FFT(f2)
的幅度谱进行比较;
4、若将f1(m,n) 顺时针旋转90 度得到f4(m,n),令f5(m,n)=f1(m,n)+f4(m,n),试显示FFT(f5) 的幅度谱,并指出其与FFT(f1)和FFT(f4)的关系;
5、若令f6(m,n)=f2(m,n)+f3(m,n),试显示FFT(f6)的幅度谱,并指出其与FFT(f 2)和FFT(f3) 的关系,比较FFT(f6)和FFT(f5)的幅度谱。
代码
f1=zeros(256,256);
for i =64:1:191
for j = 112:1:143
f1(i,j) = 100;
end
end
f2 = fft2(f1);
%f2(m,n) = f3
f3 = ((-1)^(i+j))*f1;
f4 = fft2(f3);
%f3(m,n) = f5
f5 = imrotate(f3,90,'bilinear');
f6 = fft2(f5);
%f4(m,n) = f7
f7 = imrotate(f1,90,'bilinear');
f8 = fft2(f7);
%f5(m,n) = f8
f9 = f1 + f7;
f10 = fft2 (f9);
%f6(m,n) = f2(m,n)+f3(m,n)
f11 = f3 + f5;
f12 = fft2(f11);
figure(1)
subplot(1,2,1);
imshow(abs(f1));
title('原图f1');
subplot(1,2,2);
imshow(abs(f2));
title('幅度谱fft2(f1)');
figure(2)
subplot(2,2,1)
imshow(abs(f1));
title('原图f1')
subplot(2,2,2)
imshow(abs(f2));
title('幅度谱fft2(f1)'); subplot(2,2,3);
imshow(abs(f3))
title('变换谱f2');
subplot(2,2,4);
imshow(abs(f4));
title('幅度谱fft2(f2)'); figure(3)
subplot(2,2,1)
imshow(abs(f3))
title('变换谱f2');
subplot(2,2,2);
imshow(abs(f4));
title('幅度谱fft2(f2)'); subplot(2,2,3);
imshow(abs(f5))
title('变换谱f3');
subplot(2,2,4);
imshow(abs(f6));
title('幅度谱fft2(f3)'); figure(4)
subplot(3,2,1);
imshow(f7);
title('f1旋转图f4'); subplot(3,2,2);
imshow(abs(f8));
title('幅度谱fft2(f4)'); subplot(3,2,3);
imshow(f9);
title('f5(m,n)=f1+f4'); subplot(3,2,4);
imshow(abs(f10));
title('幅度谱fft2(f5)'); subplot(3,2,5)
imshow(abs(f1));
title('原图f1');
subplot(3,2,6);
imshow(abs(f2));
title('幅度谱fft2(f1)');
figure(5)
subplot(3,2,1)
imshow(abs(f3))
title('变换谱f2');
subplot(3,2,2);
imshow(abs(f4));
title('幅度谱fft2(f2)'); subplot(3,2,3);
imshow(abs(f5))
title('变换谱f3');
subplot(3,2,4);
imshow(abs(f6));
title('幅度谱fft2(f3)'); subplot(3,2,5)
imshow(abs(f11))
title('变换谱f6=f2+f3'); subplot(3,2,6);
imshow(abs(f12));
title('幅度谱fft2(f6)');
figure(6)
subplot(2,2,1);
imshow(f9);
title('f5(m,n)=f1+f4'); subplot(2,2,2);
imshow(abs(f10));
title('幅度谱fft2(f5)'); subplot(2,2,3)
imshow(abs(f11))
title('变换谱f6(m,n)=f2+f3'); subplot(2,2,4);
imshow(abs(f12));
title('幅度谱fft2(f6)');
结果