用matlab实现数字图像处理几个简单例子
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验报告
实验一图像的傅里叶变换(旋转性质)
实验二图像的代数运算
实验三filter2实现均值滤波
实验四图像的缩放
朱锦璐
04085122
实验一图像的傅里叶变换(旋转性质)
一、实验内容
对图(1.1)的图像做旋转,观察原图的傅里叶频谱和旋转后的傅里叶频谱的对应关系。
图(1.1)
二、实验原理
首先借助极坐标变换x=rcosθ,y=rsinθ,u=wcosϕ,v=wsinϕ,,将f(x,y)和F(u,v)转换为f(r,θ)和F(w,ϕ).
f(x,y) <=> F(u,v)
f(rcosθ,rsinθ)<=> F(wcosϕ,wsinϕ)
经过变换得
f( r,θ+θ。)<=>F(w,ϕ+θ。)
上式表明,对f(x,y)旋转一个角度θ。对应于将其傅里叶变换F(u,v)也旋转相同的角度θ。F(u,v)到f(x,y)也是一样。
三、实验方法及程序
选取一幅图像,进行离散傅里叶变换,在对其进行一定角度的旋转,进行离散傅里叶变换。
>> I=zeros(256,256); %构造原始图像
I(88:168,120:136)=1; %图像范围256*256,前一值是纵向比,后一值是横向比figure(1);
imshow(I); %求原始图像的傅里叶频谱
J=fft2(I);
F=abs(J);
J1=fftshift(F);figure(2)
imshow(J1,[5 50])
J=imrotate(I,45,'bilinear','crop'); %将图像逆时针旋转45°
figure(3);
imshow(J) %求旋转后的图像的傅里叶频谱
J1=fft2(J);
F=abs(J1);
J2=fftshift(F);figure(4)
imshow(J2,[5 50])
四、实验结果与分析
实验结果如下图所示
(1.2)原图像(1.3)傅里叶频谱
(1.4)旋转45°后的图像(1.5)旋转后的傅里叶频谱以下为放大的图
(1.6)原图像(1.7)傅里叶频谱
(1.8)旋转45°后的图像(1.9)旋转后的傅里叶频谱由实验结果可知
1、从旋转性质来考虑,图(1.8)是图(1.6)逆时针旋转45°后的图像,对比图(1.7)和图(1.9)可知,频域图像也逆时针旋转了45°
2、从尺寸变换性质来考虑,如图(1.6)和图(1.7)、图(1.8)和图(1.9)可知,原图像和其傅里叶变换后的图像角度相差90°,由此可知,时域中的信号被压缩,到频域中的信号就被拉伸。
实验二图像的代数运算
一、实验内容
选择两幅图像,一幅是物体图像,一幅是背景图像,采用正确的图像代数运算方法,分别实现图像的叠加、混合图像的分离和图像的局部效果显示。
二、实验原理
代数运算是指对两幅货两幅以上输入图像进行点对点的加、减、乘、除运算而得到目标图像的运算。图像处理代数运算的4中基本形式分别如下。
C(x,y)=A(x,y)+B(x,y)
C(x,y)=A(x,y)-B(x,y)
C(x,y)=A(x,y)×B(x,y)
C(x,y)=A(x,y)÷B(x,y)
式中,A(x,y)和B(x,y)为输入图像表达式;C(x,y)为输出图像表达式
三、实验方法及程序
(1)选取两幅大小相同的灰度图像'rice.png'和'cameraman.tif',将两幅图像进行加法运算,程序如下,结果如下图(2.1)
I=imread('rice.png');
J=imread('cameraman.tif');
K=imadd(I,J);
subplot(2,2,1);imshow(I);
subplot(2,2,2);imshow(J);
subplot(2,2,3);imshow(K);
(2.1)两图像相加
(2)以下是自己构造的两幅简单的原始图像,实现的两幅图像的相减运算程序如下,结果如下图(2.2)
>> I=zeros(256,256); %构造原始图像
I(88:168,120:136)=1;
J=zeros(256,256); %构造原始图像
J(124:140,88:168)=1;
K=I-J; %实现两幅图像的相减
subplot(2,2,1);imshow(I);
subplot(2,2,2);imshow(J);
subplot(2,2,3);imshow(K);
(2.2)两图像的相减运算
实验三filter2实现均值滤波
一、实验内容
选取一幅灰度图像,用filter2函数对图像进行处理,实现3*3的均值滤波、5*5的均值滤波及7*7的均值滤波效果
二、实验原理
对一些图像进行线性滤波可以去除图像中某些类型的噪声。基本思想是:在图像空间内假定一幅N*N个像素的原始图像f(x,y),用领域内的几个像素的平均值去代替图像中的每一个像素点值的操作,经平滑处理后得到一幅图像g(x,y)
三、实验方法及程序
选取一幅灰度图像'heben.jpg',用filter2函数对图像进行处理
程序如下,结果如下图(3.1)(3.2) (3.3) (3.4)
a=imread('heben.jpg');
>> I=rgb2gray(a);
>> imshow(I);
>> K1=filter2(fspecial('average',3),I)/255; %3*3的均值滤波
>> K2=filter2(fspecial('average',5),I)/255; %5*5的均值滤波
>> K3=filter2(fspecial('average',7),I)/255; %7*7的均值滤波
>> figure,imshow(K1);
>> figure,imshow(K2);
>> figure,imshow(K3);
(3.1) 原始图像(3.2) 3*3的均值滤波