数字图像处理——实验二--图像的几何变换

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数字图像处理实验二

实验二图像的几何变换一.实验目的及要求

掌握图像几何变换的基本原理,熟练掌握数字图像的缩放、旋转、平移、镜像和转置的基本原理及其MATLAB编程实现方法。

二、实验设备

1.计算机;

2.MATLAB6.5;

三、实验内容及结果

(一)研究以下程序,分析程序功能;输入执行各命令行,认真观察命令执行的结果。熟悉程序中所使用函数的调用方法,改变有关参数,观察试验结果。

1. 图像缩放

分析:imresize 函数功能:用于对图像做缩放处理

J1 = imresize(I, Scale, 'nearest') 即将图像I,采用最近邻插值算法,放大(缩小)Scale倍。

J2 = imresize(I, Scale, 'bilinear') 即将图像I,采用双线性插值算法,放大(缩小)Scale倍。

通过改变Scale的大小,可以观察到生成的图像大小随之改变,且放大倍数越大,图像变得越模糊。在放大相同倍数的情况下,可以观察到采用双线性插值算法的图像更为清晰。

2. 图像旋转

分析:imrotate 函数功能:用于对图像做旋转处理

J1 = imrotate(I, Theta, 'nearest') 即将图像I,采用最近邻插值算法,绕图像的中心点旋转Theta度,正数表示逆时针旋转,负数表示顺时针旋转,旋转后的图像超出的部分填充0(黑色)。

J2 = imrotate(I, Theta, 'bilinear','crop') 功能同上,不同的是采用了双线性插值算法,'crop'表示通过对旋转后的图像进行裁剪,保持旋转后输出图像的尺寸和输入图像的尺寸一样。

通过改变Theta的大小,可以观察到生成的图像旋转角度随之改变,同时,采用双线性插值算法的图像更为清晰。

3.图像水平镜象

分析:flipdim(X,dim),其中X表示一个矩阵,dim指定翻转方式,dim为1,表示按

行翻转,2表示按列翻转。

I1 = flipdim(I,2) 即得到图像I的水平镜像

I2 = flipdim(I,1) 即得到图像I的垂直镜像

(二)用MATLAB编程实现以下图像几何变换

1.图像平移

原理:图像平移即将一幅图像上所有的点都按照给定的偏移量在水平方向沿x轴,在

垂直方向沿y轴移动。

设点(,)进行平移后到A(x,y),其中x方向的平移量为x,y方向的平移

量为y,那么A(x,y)的坐标为:

⎩⎨⎧∆+=∆+=y y y x x x 00 即⎥⎥⎥⎦

⎤⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡∆∆=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡11001001100y x y x y x 对应的逆变换为:⎥⎥⎥⎦

⎤⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡∆-∆-=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡11001001100y x y x y x 即⎩⎨⎧∆-=∆-=y y y x x x 00 clear all, close all

I = imread('cameraman.tif');

L1=50;

L2=50;

H=size(I);

a=1:H(1)-L1;

b=1:H(2)-L2;

a1=L1+1:H(1);

b1=L2+1:H(2);

I1(a1,b1)=I(a,b);

figure(1),imshow(I),title('Original Image');

figure(2),imshow(I1),title('New Image');

2.图像转置

原理:图像的转置是将给定图像像素的x 坐标和y 坐标互换的几何变换,设点P 0(x 0, y 0) 转置后的对应点为P (x , y ),转置变换可表述为:

⎨⎧==00x y y x 或 ⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡1100001010100y x y x ,对应的逆变换为:⎥⎥⎥⎦

⎤⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡1100001010100y x y x 或 ⎩⎨⎧==x y y x 00 转置后图像的宽、高发生改变,即输出图像的高度为原始图像的宽度,输出图像的宽度为原始图像的高度。

clear all, close all

I = imread('moon.tif');

I1=I';

subplot(3,4,[1 5 9]),imshow(I),title('Original Image');

subplot(3,4,[6 7 8]),imshow(I1),title('New Image');

四.实验总结

本次实验主要对图像的几何变换知识通过matlab 进行练习,加深了理解。图像的几何变换包括图像的缩放,旋转,平移,镜像以及剪切等运算,通过几何变换,图像的像素值会发生变化。在做实验之前,一定要先复习一下相关知识,这样做起来效

率更高,也更有益于复习巩固。

相关文档
最新文档