实验二 图像几何变换与傅里叶变换.docx

上传人:b****7 文档编号:9915703 上传时间:2023-02-07 格式:DOCX 页数:15 大小:1.20MB
下载 相关 举报
实验二 图像几何变换与傅里叶变换.docx_第1页
第1页 / 共15页
实验二 图像几何变换与傅里叶变换.docx_第2页
第2页 / 共15页
实验二 图像几何变换与傅里叶变换.docx_第3页
第3页 / 共15页
实验二 图像几何变换与傅里叶变换.docx_第4页
第4页 / 共15页
实验二 图像几何变换与傅里叶变换.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

实验二 图像几何变换与傅里叶变换.docx

《实验二 图像几何变换与傅里叶变换.docx》由会员分享,可在线阅读,更多相关《实验二 图像几何变换与傅里叶变换.docx(15页珍藏版)》请在冰豆网上搜索。

实验二 图像几何变换与傅里叶变换.docx

实验二图像几何变换与傅里叶变换

实验二图像几何变换与傅里叶变换

课程名称数字图像处理实验名称图像几何变换与傅里叶变换

姓名__吴征宇学号____3101110002专业班级_

实验日期__2013年__4月_24日成绩_______指导教师____

一、实验目的与要求

1.掌握图像平移、缩放、旋转与镜像变换;

2.掌握傅里叶变换和反变换的方法,观察图像的频域表示的特点

二、实验例程

1、几何变换

图像平移,自写平移函数immove.m

functionoutImage=immove(inImage,Tx,Ty,i)

[m,n,i]=size(inImage);%计算图象大小

outImage=uint8(zeros(m+abs(Ty),n+abs(Tx),i));

if(Tx>0&&Ty>0)%往右下角平移的情况

outImage(1+Ty:

m+Ty,1+Tx:

n+Tx,1:

i)=inImage;

elseif(Tx<0&&Ty<0)%往左上角平移的情况

outImage(1:

m,1:

n,1:

i)=inImage;

elseif(Tx<0&&Ty>0)%往左下角平移的情况

outImage(1+Ty:

m+Ty,1:

n,1:

i)=inImage;

else%往右上角平移的情况

outImage(1:

m,1+Tx:

n+Tx,1:

i)=inImage;

end

end

end

2、傅里叶变换

1、matlab计算和形象化2DDFT

傅立叶变换函数和逆向傅立叶变换函数

F=fft2(f)f=real(ifft2(F))

例子:

I=imread('dragfl.bmp');

f=real(ifft2(F));

F=fft2(I);

imshow(F,[])

f1=real(ifft2(F));

imshow(f,[])

傅立叶频谱计算函数

s=abs(F)

例子:

频谱可视化

I=imread('dragfl.bmp');

F=fft2(I);

S=abs(F);

imshow(S,[])

中心频谱函数:

把变换的原点移到频域区域中心

Fc=fftshift(F)

把变换的频域区域中心移到原点:

F=ifftshift(F)

例子:

中心频谱可视化

I=imread('dragfl.bmp');

F=fft2(I);

Fc=fftshift(F);

S=abs(Fc);

imshow(S,[])

f2=ifftshift(Fc);

imshow(abs(f),[])

频谱动态范围压缩(频谱增强):

例子:

I=imread('dragfl.bmp');

F=fft2(I);

S=abs(Fc);

S2=log(1+abs(Fc));

imshow(S2,[])

三、实验内容及步骤

1.读入彩色图像,实现图像的平移、缩放、旋转和平移

I=imread('d:

\autumn.tif');

H=immove(I,80,-80);

figure;imshow(H);title('平移后图像');

B=immove(I,80,-50);

figure;imshow(B);title('平移后图像');

G=imresize(I,0.5);

figure;imshow(G);title('缩放后图像');

C=imresize(I,2);

figure;imshow(C);title('缩放后图像');

D=imrotate(I,30);

figure;imshow(D);title('旋转后图像');

E=imrotate(I,54);

figure;imshow(E);title('旋转后图像');

F=flipdim(I,1);

figure;imshow(F);title('垂直镜像图像');

G=flipdim(I,2);

figure;imshow(G);title('水平镜像图像')

imcrop(I,[80,80,80,80])

imcrop(I,[45,75,65,61])

2、读入一幅灰度图像,实现图像的平移、缩放、旋转和平移

J=rgb2gray(I);

imshow(J);title('原图像');

H=immove(J,80,-80);

figure;imshow(H);title('平移后图像');

B=immove(J,50,-50);

figure;imshow(B);title('平移后图像');

G=imresize(J,0.3);

figure;imshow(G);title('缩放后图像');

C=imresize(J,2);

figure;imshow(C);title('缩放后图像');

D=imrotate(J,45);

figure;imshow(D);title('旋转后图像');

E=imrotate(J,75);

figure;imshow(E);title('旋转后图像');

F=flipdim(J,1);

figure;imshow(F);title('垂直镜像图像');

G=flipdim(J,2);

figure;imshow(G);title('水平镜像图像')

imcrop(J,[80,80,80,80])

imcrop(J,[145,175,165,161])

2、读入一幅图像,绘制傅里叶变换的频谱。

I=imread('d:

\autumn.tif');

matlab计算和形象化2DDFT

傅立叶变换函数和逆向傅立叶变换函数

F=fft2(f)f=real(ifft2(F))

I=imread('splash.bmp');

f=real(ifft2(F));

F=fft2(I);

imshow(F,[])

f1=real(ifft2(F));

imshow(f,[])

傅立叶频谱计算函数

s=abs(F)

例子:

频谱可视化

I=imread(splash.bmp);

F=fft2(I);

S=abs(F);

imshow(S,[])

 

4、把变换的原点移到频域区域中心,观察频谱的变化

例子:

频谱可视化

I=imread(splash.bmp);

F=fft2(I);

S=abs(F);

imshow(S,[])

中心频谱函数:

把变换的原点移到频域区域中心

Fc=fftshift(F)

把变换的频域区域中心移到原点:

F=ifftshift(F)

例子:

中心频谱可视化

I=imread('dragfl.bmp');

F=fft2(I);

Fc=fftshift(F);

S=abs(Fc);

imshow(S,[])

f2=ifftshift(Fc);

imshow(abs(f),[])

频谱动态范围压缩(频谱增强):

例子:

I=imread('dragfl.bmp');

F=fft2(I);

S=abs(Fc);

S2=log(1+abs(Fc));

imshow(S2,[])

 

五、实验报告要求

描述实验的基本步骤,用数据和图片给出各个步骤中取得的实验结果和源代码,并进行必要的讨论,必须包括原始图像及其计算/处理后的图像。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 文学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1