图像的几何变换及其matlab实现

合集下载

matlab图像的几何变换

matlab图像的几何变换

实验三 图像的几何运算一、实验目的1、 理解几何运算的基本概念与定义;2、 掌握在MA TLAB 中进行插值的方法3、 运用MATLAB 语言进行图像的插值缩放和插值旋转。

二、实验原理插值是常用的数学运算,通常是利用曲线拟合的方法,通过离散的采样点建立一个连续函数来逼近真实的曲线,用这个重建的函数便可以求出任意位置的函数值。

最近邻插值是最简便的插值,在这种算法中,每一个插值输出像素的值就是在输入图像中与其最临近的采样点的值。

该算法的数学表示为:()()k f x f x = 如果1111()()22k k k k x x x x x -++<<+ 最近邻插值是工具箱函数默认使用的插值方法,而且这种插值方法的运算量非常小。

不过,当图像中包含像素之间灰度级变化的细微结构时,最近邻插值法会在图像中产生人工的痕迹。

双线性插值法的输出像素值是它在输入图像中2×2领域采样点的平均值,它根据某像素周围4个像素的灰度值在水平和垂直两个方向上对其插值。

设''''1,1,,m i m n j n a i m b j n <<+<<+=-=-,'i 和'j 是要插值点的坐标,则双线性插值的公式为:''(,)(1)(1)(,)(1)(1,)(1)(,1)(1,1)g i j a b g m n a b g m n a bg m n abg m n =--+-++-++++ 双三次插值的插值核为三次函数,其插值邻域的大小为4×4。

它的插值效果比较好,但相应的计算量也比较大,在这里不做讨论。

1、图像的缩放imresize 函数的语法格式为:B = imresize(A, m, method)2、图像的旋转imrotate 的语法格式为:B = imrotate(A, angle, method)三、实验内容及要求1. 读出girl.bmp 图像并显示。

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

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

数字图像处理实验二实验二图像的几何变换一.实验目的及要求掌握图像几何变换的基本原理,熟练掌握数字图像的缩放、旋转、平移、镜像和转置的基本原理及其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表示按列翻转。

图像几何变换的理论及MATLAB实现

图像几何变换的理论及MATLAB实现

维普资讯
第 4期
古丽娜等
图像几何 变换 的理论及 MAT AB实现 L
2 5

到 的亮 度值 。
常 见 图像 是 连续定 义 的 , f, Y的值 可以是任 意实 数 。 了能用 数字计 算机对 图像进 行加工 处理 , 即 z, 为 需
要把 连 续的 图像 在坐标 空间 y和性质 空间 F 都进行 离散 化 。 这种离散 化 了的图像就 是数字 图像 , 以用 , 可 (,) 表示 。这 里 ,代表 离 散化后 的 ,rc代 表离散 化后 的 ( )其 中 , ,c来 . ( ,) , , . 代表 图像 的行 (o ,代 表 图 rw)c 像 的列 ( lmn 。 c u ) 这里 ,cr 的值都 是整数 。 章 以后 主要讨 论数 字 图像 , o ,,, 文 在不 至引起混 淆 的情 况下 我们用 f( ) 表数字 图像 , x, 代 如不 特 别说 明 , , 在整数 集合 中取 值 。 f, Y都
( ) , 的某种性 质 F 的数值 。例 如常用 的图像 一般是 灰 度 图 , 时 厂表示 灰度值 , 这 它常对 应 客观景 物被 观察
[ I 收j 1日期]2 0 一l —1 04 1 2 [ 作者简 介]古丽娜( 9 4 . , 1 7 一) 女 维吾尔族 . 新疆乌鲁木齐人 . 师, 讲 主要从事纠’ 算机 多媒 体技术 . 计算机辅助教育技术等方 向的教育 与 研 究
客 观世 界 在空 问上 是三维 ( 一D) 但 一般从 客观 景物 得 到 的图像 是二 维 ( 一D) 。一 幅图像 可 以用 3 的, 2 的

个 2 一D 数组 f( ) 表示 , 里 z和 Y表示 2 x, 来 这 一D 空 间 xy中 一个坐 标点 的位置 , ,则 代表 图像 在点 而

如何进行MATLAB图像配准和变换

如何进行MATLAB图像配准和变换

如何进行MATLAB图像配准和变换引言图像配准和变换是数字图像处理中一项重要任务,它能够将不同空间、不同感知角度或不同时间采集的图像进行对齐,从而实现图像像素之间的准确匹配。

MATLAB作为一种常用的科学计算软件,提供了丰富的图像处理函数和工具箱。

本文将介绍如何使用MATLAB进行图像配准和变换,以帮助读者更好地理解和应用这些功能。

一、图像配准基础1. 图像配准定义图像配准是指将两幅或多幅图像通过某种变化,使得它们的像素点对齐。

这种对齐可以通过平移、旋转、缩放等几何变换来实现。

2. 图像配准应用图像配准在许多领域都有广泛的应用,如医学图像处理、遥感图像处理、计算机视觉等。

例如,在医学领域,图像配准可以用于将不同时间拍摄的磁共振图像对齐,以便医生更好地观察患者的病情变化。

二、MATLAB图像配准函数MATLAB提供了几个常用的图像配准函数和工具箱,方便用户进行图像配准和变换。

下面将介绍一些常用的函数和工具箱。

1. imregister函数imregister函数是MATLAB中一个常用的图像配准函数,它能够将两幅图像进行几何变换以实现图像配准。

该函数基于最大互信息和归一化互相关等算法实现,能够自动处理旋转、平移、缩放和扭曲等运动畸变。

2. cpselect工具箱cpselect工具箱是MATLAB中用于图像配准的一个交互式工具箱。

它能够通过用户交互的方式,选择两幅图像中的对应点,计算并输出变换矩阵。

用户可以通过可视化的界面进行点选,并查看配准效果。

三、图像配准步骤基于MATLAB提供的函数和工具箱,进行图像配准的一般步骤如下:1. 加载图像使用imread函数加载待配准的图像,将其转换为灰度图像或彩色图像,存储为变量img1和img2。

2. 预处理图像根据具体情况,对图像进行预处理操作,如去噪、平滑、增强等。

这一步骤可以提高后续配准的准确性和稳定性。

3. 选择对应点使用cpselect工具箱,通过交互方式选择两幅图像中的对应点。

matlab实现平面图形的几何变换

matlab实现平面图形的几何变换
变垂直轴的刻度单位。
旋转变换:设函数图形以原点为中心,逆时针旋转 角,原来的坐标 (x, y) 变为新的坐 标 ( X ,Y ) ,旋转变换为
X x cos y sin Y x sin y cos 对称变换:把函数 y f (x) 变化为 y f (x) ,函数图形关于原点对称;把函数 y f (x) 变化为 y f (x) ,函数图形关于 y 轴对称;把函数 y f (x) 变化为 y f (x) ,
2.几种常见的几何变换 常见的平面图形的几何变换有平移、伸缩、对称、旋转等变换。
平移变换:把函数 y f (x) 变化为 y f (x a) ,可将函数图形向右平移 a 个单位, 把函数 y f (x) 变化为 y f (x) a) ,可将函数图形向上平移 a 个单位,
伸缩变换:把函数 y f (x) 变化为 y f (sx) ,函数图形会压缩或伸长,其作是改变 水平轴的刻度单位,因此 s 称为水平刻度参数,把函数 y f (x) 变化为 y sf (x) ,则可改
0 1 0 1. 关于直线 y x 对称的变换,对应的矩阵为 A 1 0 0 。
0 0 1
二、实验结果 1. 将函数 y ex2 的图形向右平移 3 个单位且向上平移 3 个单位.
2. 将函数 y ex2 的图形在水平方向收缩一倍,在垂直方向放大一倍。 3. 将函数 y x 2 的图形以原点为中心,顺时针旋转 30 度角. 4. 已知函数 y 2x x 2, ,0 x 2 ,试扩展函数的定义域,使之成为 2 周期的偶函数,
并画出函数在[-8,8]上的图形。若要把函数延拓成以 4 为周期的奇函数呢?
5. 做怎样的变换才能使函数图形绕给定的点 (a, b) 转动?这个变换可以分解成 3 个基 本变换:平移量为 (a,b) 的平移变换T1 ,旋转角度为 的旋转变换T2 ,T1 的逆变换 T11 .求出变换矩阵,写出与变换相应的方程,并对具体的函数图形进行变换. (1) y sin x, x (0,2 ) (2) x a sin t, y b cos t,t (0,2 )

matlab图像几何变换和图像增强

matlab图像几何变换和图像增强

一.图像几何变化(1)放大,缩小,旋转程序:I=imread('111.jpg');J=imresize(I,1.5);L=imresize(I,0.75);K=imrotate(I,35,'bilinear');subplot(221),subimage(I); title('原图像');subplot(222),subimage(J); title('放大后图像');subplot(223),subimage(L); title('缩小后图像');subplot(224),subimage(K);title('旋转后图像');二.图像频域变换(1)傅里叶变换真彩图像灰度图像傅里叶变换谱程序:I=imread('111.jpg');figure(1);imshow(I);B=rgb2gray(I);figure(2);imshow(B)D=fftshift(fft2(B));figure(3);imshow(log(abs(D)),[ ]);(2)离散余弦变换真彩图灰度图进行离散余弦变换后程序:RGB=imread('111.jpg');figure(1);imshow(RGB);G=rgb2gray(RGB);figure(2);imshow(G);DCT=dct2(G);figure(3);imshow(log(abs(DCT)),[]);三.图像增强:(1)指数变换程序:f=imread('111.jpg')f=double(f);g=(2^2*(f-1))-1;f=uint8(f);g=uint8(g);subplot(1,2,1),subimage(f);subplot(1,2,2),subimage(g);(2)直方图均衡程序:I=imread('111.jpg');I=rgb2gray(I);figuresubplot(221);imshow(I);subplot(222);imhist(I)I1=histeq(I);figure;subplot(221);imshow(I1)subplot(222);imhist(I1)(3)空域滤波增强锐化滤波(Roberts算子Sobel算子拉普拉斯算子)程序:I=imread('000.tif');J1=edge(I,'roberts'); %Roberts算子figure;imshow(uint8(I));title('原图');figure;subplot(221);imshow(J1);title('Roberts算子锐化'); J2=fspecial('Sobel'); %Sobel算子J2=J2';TJ1=filter2(J2,I);J2=J2';TJ2=filter2(J2,I);subplot(222),imshow(TJ1,[]),title('垂直模板'); subplot(223),imshow(TJ2,[]),title('水平模板');f=fspecial('laplacian'); %拉普拉斯算子J3=imfilter(I,f);subplot(224),imshow(J3);title('拉普拉斯算子');平滑滤波及中值滤波程序:I=imread('000.tif');J=imnoise(I,'salt & pepper',0.02);subplot(221),imshow(I);title('原图像');subplot(222),imshow(J);title('添加椒盐噪声图像');k1=filter2(fspecial('average',3),J); %进行3*3模板平滑滤波k2=medfilt2(J); %进行3*3模板中值滤波subplot(223),imshow(uint8(k1));title('3*3模板平滑滤波');subplot(224),imshow(k2);title('3*3模板中值滤波');(4)频域滤波增强低通滤波程序:I=imread('000.tif');J=imnoise(I,'salt & pepper',0.02);subplot(121),imshow(J);title('添加椒盐噪声图像');J=double(J);f=fft2(J); %采用傅里叶变换g=fftshift(f) %数据矩阵平衡[M,N]=size(f);n=3;d0=20n1=floor(M/2)n2=floor(N/2)for i=1:M %进行低通滤波for j=1:Nd=sqrt((i-n1)^2+(j-n2)^2)h=1/(1+(d/d0)^(2*n));g1(i,j)=h*g(i,j);endendg1=ifftshift(g1);g1=uint8(real(ifft2(g1)));subplot(122);imshow(g1);title('低通滤波后的图像'); %显示低通滤波结果 高通滤波程序:I=imread('000.tif');J=imnoise(I,'salt & pepper',0.02);subplot(221),imshow(J);title('添加椒盐噪声图像');J=double(J);f=fft2(J); %采用傅里叶变换[M,N]=size(f);n=2;d0=20n1=floor(M/2)n2=floor(N/2)for i=1:M %进行巴特沃斯高通滤波及巴特沃斯高通加强滤波for j=1:Nd=sqrt((i-n1)^2+(j-n2)^2);if d==0;h1=0;h2=0.5;elseh1=1/(1+(d0/d)^(2*n));h2=1/(1+(d0/d)^(2*n))+0.5;endgg1(i,j)=h1*g(i,j);gg2(i,j)=h2*g(i,j);endendgg1=ifftshift(gg1);gg1=uint8(real(ifft2(gg1)));subplot(222);imshow(gg1);title('巴特沃斯高通滤波后的图像'); %显示结果gg2=ifftshift(gg2);gg2=uint8(real(ifft2(gg2)));subplot(223);imshow(gg2);title('巴特沃斯高通滤波加强后的图像');同态滤波程序:J=imread('000.tif');subplot(121);imshow(J);title('原图像');J=double(J);f=fft2(J); %采用傅里叶变换[M,N]=size(f);d0=10;r1=0.5;rh=2c=4;n1=floor(M/2);n2=floor(N/2);for i=1:M %进行同态滤波for j=1:Nd=sqrt((i-n1)^2+(j-n2)^2)h=(rh-r1)*(1-exp(-c*(d.^2/d0.^2)))+r1;g(i,j)=h*g(i,j);endendg=ifftshift(g);g=uint8(real(ifft2(g)));subplot(122);imshow(g);title('同态滤波后的图像'); %显示同态滤波结果。

Matlab中的空间变换与几何校正方法

Matlab中的空间变换与几何校正方法

Matlab中的空间变换与几何校正方法引言Matlab是一种功能强大的数学软件,它在图像处理和计算机视觉领域有着广泛的应用。

其中,空间变换和几何校正是两个重要的方面。

本文将介绍Matlab中的空间变换方法和几何校正方法,并分析它们的原理和应用。

一、空间变换方法空间变换是指对图像进行平移、旋转、缩放和扭曲等操作,以实现图像的几何变换。

Matlab提供了多种空间变换方法,包括仿射变换、透视变换和弹性变形等。

1. 仿射变换仿射变换是一种保持直线和平行线间距比例的变换。

在Matlab中,可以使用imtransform函数实现仿射变换。

具体操作包括定义仿射变换矩阵,将变换矩阵作为输入参数传递给imtransform函数,然后将变换后的图像进行显示或保存。

2. 透视变换透视变换是一种非线性的空间变换,它可以将一个平面上的图像转换成位于另一个平面上的图像。

在Matlab中,可以使用fitgeotrans函数估计透视变换参数,并使用imwarp函数进行透视变换。

透视变换常用于图像矫正、立体视觉和摄像头标定等领域。

3. 弹性变形弹性变形是一种基于物理模型的变换方法,它可以对图像进行局部扭曲和形变。

Matlab中的imspecular函数可用于实现弹性变形。

它可以根据一组控制点的位置和形变力场参数,实现图像的弹性变形处理。

弹性变形常用于医学图像分析、形变测量和表面拟合等应用。

二、几何校正方法几何校正是指对图像进行校正和修正,以纠正因成像设备和拍摄条件引起的几何变形和畸变。

Matlab提供了多种几何校正方法,包括相机标定、图像纠正和立体校正等。

1. 相机标定相机标定是指确定相机内外参数的过程。

在Matlab中,可以使用cameraCalibrator应用或相机标定工具箱进行相机标定。

相机标定可以获取相机的畸变模型和内外参数,进而进行图像校正、立体匹配和虚拟现实等应用。

2. 图像纠正图像纠正是指纠正图像中的畸变和变形。

图像几何变换matlab

图像几何变换matlab

二、图像几何变换
由于拍摄图像的角度、距离等原因,可能
会需要对图像进行适当的几何变换。
几何变换又称为空间变换,是将一幅图像
中的坐标位置映射到另外一幅图像中的新 坐标位置。它不改变图像的像素值,只是 在图像平面上进行像素的重新安排。
三、解决几何变换问题的思路
一般要考虑原图像中的某个像素点的
x
y1 y0


y
2. 垂直镜像的变换公式
(x0,y0)是原图像上的点,中心轴如图所示, 垂直镜像对应的新坐标点为: x1=x0; y1=Nx0
y0;
y0
0
x1 x 垂 直 像
y1

N y
3. 程序实现:
4. MATLAB中实现镜像的函数
水平镜像和垂直镜像的变换矩阵:
[ x1 y1 1] [ x0 y0
(x0,y0)是原图像上的点,图像水平平移量为
a,垂直平移量为b,如图所示。
平移后的新坐标点为: x1=x0+a; y1=y0+b;
x0 0 a 平 移 x1 x
y0 b
y1 y
2. 程序实现:
3. 知识

2.2 图像平移
2.3 图像镜像 2.4 图像转置 2.5 图像缩放 2.6 图像旋转
G = rgb2gray(F); % 将F对应的RGB彩色图像数据 转换为灰度图像数据,存入G中
关于图像的函数和命令(2)
imwrite(G,‘rice1.bmp’); %将图像数据G写入文件
rice1中,存为新图片。
imshow(F); %显示图像数据F对应的图像
figure;
subplot(2,2,1);
坐标(x0,y0) 和此像素点映射到新图像

基于Matlab的数字图像几何变换的实现

基于Matlab的数字图像几何变换的实现

通信专业课程设计二(论文)目录第1章前言............................................................. - 1 - 1.1数字图像概述 . (1)1.2数字图像几何变换介绍 (2)第2章图像几何变换理论......................................... - 3 -2.1图像缩放原理...................................................... - 3 - 2.2图像旋转原理...................................................... - 4 - 2.3图像剪取原理...................................................... - 6 - 第3章数字图像几何变换实现............................................. - 7 - 3.1数字图像缩放 . (7)3.1.1 IMRESIZE函数..................................... 错误!未定义书签。

3.1.2数字图象缩放................................................... - 7 - 3.2数字图像旋转 (10)3.2.1 IMROTATE函数..................................... 错误!未定义书签。

3.2.2数字图象旋转.................................................. - 10 - 3.3数字图像剪取 (12)3.3.1IMCOPY函数 (12)3.3.2数字图象剪取.................................................. - 12 - 第4章结论............................................................ - 15 - 参考文献............................................................... - 16 - 附录................................................................... - 17 -第1章 前言1.1数字图像概述在20世纪20年代,图像处理首次应用于改善伦敦和纽约之间海底电缆发送的图片质量。

Matlab技术图像变换方法

Matlab技术图像变换方法

Matlab技术图像变换方法图像处理是数字信号处理的重要应用之一,而Matlab作为一款强大的数学计算软件,其在图像处理领域也有着广泛的应用。

图像变换是图像处理的重要环节,通过变换可以改变图像的表现形式,提取图像的有用信息,实现图像的增强、去噪、特征提取等目标。

本文将重点介绍Matlab中常用的图像变换方法,并探讨其原理和应用。

一、灰度图像变换灰度图像变换是图像处理中最为基础的操作之一,可以通过调整像素值的亮度、对比度等来改变图像的视觉效果。

Matlab提供了多种函数来实现灰度图像变换,如imadjust、histeq等。

imadjust函数通过调整图像的亮度和对比度来改变图像的整体视觉效果。

其基本原理是通过对原始图像的像素值进行非线性变换,将像素值映射到指定的亮度范围内。

具体而言,imadjust函数根据输入的亮度调整阈值,将图像的低灰度和高灰度值进行映射,实现对图像亮度的调整。

例如,可以通过提高亮度调整阈值,增加图像的对比度。

histeq函数通过直方图均衡化来改变图像的灰度分布,实现对图像的自适应增强。

其基本原理是通过映射原始图像的灰度直方图到一个均匀分布的形式,从而使得图像的灰度值分布更加均衡。

直方图均衡化能够增强图像的对比度,凸显图像的细节信息。

例如,可以使用histeq函数来增强图像中的暗部细节。

二、几何图像变换几何图像变换是通过对图像的坐标进行变换,改变图像的形状或尺寸。

Matlab提供了多种函数来实现几何图像变换,如imresize、imrotate等。

imresize函数通过改变图像的尺寸来实现图像的缩放。

其基本原理是通过插值算法,在输入的图像基础上生成一个新的图像。

可以通过指定缩放比例来控制图像尺寸的变化,也可以通过指定输出图像的大小来实现图像的精确缩放。

imrotate函数通过旋转图像的角度来实现图像的旋转变换。

其基本原理是通过对输入图像的每个像素位置进行变换,从而得到旋转后的图像。

图文详解matlab原始处理图像几何变换

图文详解matlab原始处理图像几何变换

图⽂详解matlab原始处理图像⼏何变换⽬录(⼀)图像⼏何变换理论知识(1)图像的平移与⽐例(2)关于旋转变换(3)关于对称变换(4)复合变换(⼆)matlab编程实现变换(1)对图像的理解(2)⽐例变换(3)对称变换总结(⼀)图像⼏何变换理论知识(1)图像的平移与⽐例图像的平移很简单,平移前后的坐标分别为(x,y)和(x',y'),则满⾜的关系式为x'= x +Tx;y'= y +Ty;其中Tx与Ty分别为对应的偏移量。

图像的⽐例也很简单,可以描述为:x'=S_x * x; y'=S_y * y;那么上述的关系怎么⽤⼀个矩阵来表⽰呢?⼀个很重要的矩阵来了,那就是变换矩阵T,并且对于⼆维坐标下的点,⼀般转化为笛卡尔坐标系下进⾏计算,⽤⼀个三维点表⽰⼆维的,只不过把最后⼀项值置为1,这样⼀个⼆维坐标(x,y)就变为(x,y,1)了。

在把上述的平移等式关系转化为矩阵形式为:⽐例等式关系为:(2)关于旋转变换对于某个点,在坐标系中的变换为(旋转⾓度为θ,并且逆时针旋转为正):那么可以看出,这个时候对应的旋转矩阵为T就如图上所⽰。

(3)关于对称变换对称变换⽐较简单,还是以点的变换为例,⽐如变换前的点P(x,y)和变换后的点P'=(x',y'),那么对称变换包括点关于x 轴、y轴、原点、y=x、y=-x等等,点的变换可以⾃⼰推导下,这样也就可以得到对应的变换矩阵T了。

⽐如,关于x对称的话,T=[1,0,0;0,-1,0;0,0,1],关于原点对称的话,T=[-1,0,0;0,-1,0;0,0,1];关于y=x对称的话,T=[0,1,0;1,0,0;0,0,1];等等。

(4)复合变换下⾯再重点介绍下复合变换,因为有的变换不是简单的初等变换,但是有⼀点需要明确的是任何复合变换都可以⽤初等变换⼀步步变换⽽来。

⽐如前⾯的旋转变换,旋转点选取的是原点,这样才有的那个公式,那要是旋转点不是原点怎么办?⽐如任⼀点s(X_f,Y_f),那么点P绕着点s旋转⼀定的⾓度θ该怎么表⽰呢?这⾥就要把这个复合变换化成为3个简单的初等变换,具体步骤为:⾸先把s点平移操作⾄原点(这个过程中,相当于所有的点都按照⼀定的⽅向平移了),然后相当于在原点对平移后的P点进⾏旋转变换,变换完后再把这个店反平移回去,这样是不是就相当于完成了那个复合变换。

图形图像处理-图像的几何变换Matlab实现

图形图像处理-图像的几何变换Matlab实现

湖南商学院课程设计课程名称图形图像处理题目图像的几何变换系部数学与统计学院专业信息与计算科学班级信息与计算科学1301学号学生姓名任课教师王勇2016年月日目录第一章绪论§1 非彩色图像在Matlab中的矩阵 (3)§2 彩色图像在Matlab中的矩阵 (4)第二章图像的镜像变换§1 图像的水平方向镜像 (5)§2 图像的垂直方向镜像 (8)第三章图像的旋转变换§1 图像的旋转变换 (10)第四章图像的转置变换§1 非彩色图像的转置变换 (13)§3 彩色图像的转职变换 (13)第五章图像的缩放变换§1 双线性内插法简介 (15)§2 图像的缩放 (16)第六章图像的平移变换§1 图像的平移变换 (19)第一章 绪论§1 非彩色图像在Matlab 中的矩阵非彩色图像可以定义为一个二维函数(,)f x y ,其中x 和y 是Euclid 空间(平面)坐标,任意一个二元组(,)x y 处的值f 称为该点处的强度或者灰度。

当x ,y 和灰度值f 是离散的数值时,我们称改图像为数字图像。

每一个非彩色图像在Matlab 中都是一个二维矩阵n m A ⨯,而我们知道变换是指集合自身到自身的映射,所以对非彩色图像的变换其实质就是对二维矩阵n m A ⨯进行变换得到另一个二维矩阵n m B ⨯的过程。

例如图像1.1图1.1其在Matlab 中的表示:>> A=imread('Fig3.24.jpg'); >> size(A)ans = 298 252 %A 是一个298行252列的矩阵。

§2 彩色图像在Matlab 中的矩阵不同于非彩色图像,每一个彩色图像在Maltab 中都是三维矩阵n m s A ⨯⨯。

例如图像2.1图2.1>> A=imread('Koala.jpg'); >> size(A) ans =768 1024 3A 是一个三维矩阵,768行1024列3层,3层是RGB 三色的数值。

MATLAB数字图像处理几何变换傅里叶变换.docx

MATLAB数字图像处理几何变换傅里叶变换.docx

Matlab数字图像处理实验指导实验目的:通过实验,深入理解和掌握图像处理的基本技术,提高动手实践能力。

实验环境:Matlab变成实验一图像的几何变换实验内容:设计一个程序,能够实现图像的各种几何变换。

实验要求:读入图像,打开图像,实现图像的平移变换、比例缩放、转宜变换、镜像变换、旋转变换等操作。

实验原理:图像儿何变换乂称为图像空间变换,它将一幅图像中的朋标位置映射到另一•幅图像中的新处标位査。

学习儿何变换的关键就是要确定这种空间映射关系,以及映射过程小的变化参数。

几何变换不改变图像的像素值,只是在图像平面上进行像素的重新安排。

一个几何变换需要两部分运算:首先是空间变换所盂的运算,如平移、镜像和旋转等,需要川它來表示输出图像与输入图像Z间的(像素)映射关系;此外,述需耍使用灰度插值算法,因为按照这种变换关系进行计算,输出图像的像索可能被映射到输入图像的非整数坐标上。

设原图像f(xO,yO)经过几何变换产生的口标图像为g(xlYL),则该空间变换(映射)关系可表示为:xl=s(xO,yO)yl=t(xO,yO)其中,s(xO,yO)和t(xO,yO)为由f(xO,yO)到g(xl,yl)的坐标换变换函数。

一、图像平移图像平移就是将图像屮所有-的点按照指定的平移最水平或者垂肓移动。

二、 图像镜像镜像变换又分为水平镜像和垂肓镜像。

水平镜像即将图像左半部分和右半部分以图像竖 直中轴线为中心轴进行对换;而竖直镜像则是将图像上半部分和下半部分以图像水平中轴线 为中心轴进行对换。

三、 图像转置图像转置是将图像像索的x 坐标和y 坐标呼唤。

图像的大小会随Z 改变——高度和宽度 将呼唤。

原图像 10015020025050100 150 200 250 50100 150 200 250 图像平移50 100 150 200 250原图像 水平镜像原图像图像转蛊四、 图像的缩放图像缩放是指将图像大小按照指定的比率放大或者缩小。

实验-图像几何变换

实验-图像几何变换

图像的几何变换一、实验目的1、掌握图像几何变换的基本原理2、掌握如何利用Matlab相应函数对图像进行几何变换(图像缩小、放大、旋转等)3、学会自己编写简单几何变换的程序二、实验内容1、对所选图像进行缩小操作2、对所选图像进行放大操作3、对所选图像进行旋转操作三、实验过程源程序及图像:p1=imread('moon.tif ');info=imfinfo('moon.tif');W=info.Width;H=info.Height;%显示原始图像figure(1);imshow(p1);%使用imresize()函数将原始图像缩小为原图形的0.5倍p2=imresize(p1,0.5);figure(2);imshow(p2);%不使用imresize()函数将原始图像缩小为原图形的0.5倍c=2;i=1:W./c;j=1:H./c;I=floor(c*i); J=floor(c*j);p3(j,i)=p1(J,I);figure(3);imshow(p3);%使用imresize()函数将原始图像放大为原图形的2倍p4=imresize(p1,2);figure(4);imshow(p4);%将原始图形旋转30度显示p6=imrotate(p1,30);figure(6);imshow(p6);%对旋转的图形进行插值计算p8=imrotate(p1,30,'bilinear');figure(8);imshow(p8);注:与图六中未标明插值结果相同,即Matlab中使用的函数会自动对变换后的图像进行插值计算。

【数字图像处理】5.第四章 图像的几何变换与MATLAB实现

【数字图像处理】5.第四章 图像的几何变换与MATLAB实现

4 图像的剪切
在MATLAB中,函数imcrop实现图像的剪切操作。该 操作剪切的是图像中的一个矩形子图,用户可以通过参 数指定这个矩形四个顶点的坐标,也可以交互地用鼠标 选取这个矩形。
函数的调用格式如下: I2=imcrop(I) X2=imcrop(X,map) RGB2=imcrop(RGB)
是:空点的像素值等于前一点的像素值。 3. 同样的操作重复M1行。
插值处理示意图:
图像的减半缩小效果
图像的按比例缩小效果
图像的不按比例任意缩小
图像的成倍放大效果
图像大比例放大时的马赛克效应
放大10倍
图像的不按比例放大
图像的旋转效果
图像旋转中的插值处理效果
第四章 图像的几何变换与MATLAB实现 4.1 图像的几何变换 4.2 MATLAB中的图像几何操作
例:
3、图像的旋转
下图给出了图像旋转的原理示意图。
θ
为了尽量不扩大画布,所以是以画面的中心点为坐 标原点进行旋转的。所以有: 设图像大小为M*N,作新图像的画布为M1*N1.
M1 N sin M cos N1 N cos M sin
X (x M / 2) cos ( y N / 2)sin M1/ 2 Y (x M / 2)sin ( y N / 2) cos N1/ 2
例:
因为像素的坐标都是整数,所以当用前面的 方法旋转时,会出现画面上有许多的空点,(即 白点)这就影响了旋转图像的效果。为此我们还 需要进行图像的空点的插值。
最简单的方法是行插值或是列插值方法: 1. 找出当前行的最小和最大的非白点的坐
标,记作:(i,k1)、(i,k2)。 2. 在 (k1,k2) 范围内进行插值,插值的方法

几何变换的matlab程序示例

几何变换的matlab程序示例

几何变换是图像处理中常见的操作,通过对图像进行旋转、平移、缩放等变换,可以实现图像的翻转、修正以及透视等效果。

MATLAB作为一种强大的数学工具,提供了丰富的函数和工具箱,可以方便地进行各种几何变换的计算和实现。

本文将结合实例,介绍如何使用MATLAB进行几何变换的程序示例,包括图像旋转、平移和缩放等操作。

1. 图像旋转图像旋转是一种常见的几何变换操作,可以通过MATLAB中的imrotate函数来实现。

该函数可以对图像进行指定角度的旋转,其基本语法为:```matlabrotated_img = imrotate(img, angle);```其中,img为待旋转的图像,angle为旋转的角度。

通过这个函数,可以实现图像的任意角度的旋转操作。

2. 图像平移图像平移是指沿着x轴和y轴的方向对图像进行移动,可以通过MATLAB中的imtranslate函数来实现。

其基本语法为:```matlabtranslated_img = imtranslate(img, [x_shift, y_shift]);```其中,img为待平移的图像,[x_shift, y_shift]为沿x轴和y轴的平移距离。

通过该函数,可以实现对图像的任意平移操作。

3. 图像缩放图像缩放是指对图像的大小进行调整,可以通过MATLAB中的imresize函数来实现。

其基本语法为:```matlabresized_img = imresize(img, scale);```其中,img为待缩放的图像,scale为缩放比例。

通过该函数,可以实现对图像的任意缩放操作。

除了以上三种基本的几何变换操作外,MATLAB还提供了一些其他相关的函数和工具箱,如仿射变换、透射变换等。

通过这些工具,可以实现更加复杂和多样化的图像处理操作。

总结通过本文的介绍,我们了解到了MATLAB中几何变换的基本操作,包括图像旋转、平移和缩放。

这些操作可以帮助我们实现对图像的各种修正和调整,从而得到我们想要的效果。

matlab图像几何变换

matlab图像几何变换

学号光电图像处理实验报告实验一:图像几何变换作者肖剑洪专业电子科学与技术学院物理与电子学院指导老师王晓明完成时间2013.12.2实验一图像几何变换一、实验目的图像几何变换是图像处理与分析的基础容之一。

使学生掌握图像平移、镜像、缩放和旋转等几何变换的方法以及程序实现。

二、实验设备联想图像处理工作站三、实验容及要求图像几何变换不改变图像的像素值,而是改变像素所在的几何位置,具有独特的方法。

本实验的容如下:1.学会使用Matlab的图像处理工具箱(Image Processing Toolbox)。

使学生初步具备使用该软件处理图像信息能力,并可以利用该软件完成本课程规定的其他实验和作业。

2.编程实现图像平移,要求平移后的图像大小不变;3.编程实现图像的镜像;4.编程实现图像的比例缩放,要求分别用最近邻插值、双线性插值和双三次插值三种方法来实现,并比较缩放效果;5.编程实现以任意角度对图像进行旋转变换。

四、实验原理1.图像平移从上到下、从左到右依次计算新图像中的每个像素(x, y)在源图像中对应的坐标值(x0, y0);即:x0 = x –△x,y0 = y –△y其中,△x、△y分别是水平和垂直偏移量。

2.图像镜像从上到下、从左到右依次计算新图像中的每个像素(x, y)在源图像中对应的坐标值(x0, y0);即:x0 = fWidth – x,y0 = y 水平镜像x0 = x,y0 = fHeight – y 垂直镜像其中,fWidth、fHeight分别是图像的宽度和高度。

3.图像比例缩放图像比例缩放是指将给定的图像在x轴方向按比例缩放fx倍,在y轴方向按比例缩放fy倍,从而获得一幅新的图像。

从上到下、从左到右依次计算新图像中的每个像素(x, y)在源图像中对应的坐标值(x0, y0);即:x0 = [x / fx + 0.5],y0 = [y / fy + 0.5]其中,fx、fy分别是水平和垂直方向的缩放比率,中括号表示对括号表达式取整。

MATLAB几何变换课程设计

MATLAB几何变换课程设计

MATLAB几何变换课程设计一、课程目标知识目标:1. 学生理解几何变换的基本概念,掌握平移、旋转、缩放等基本几何变换的数学原理和MATLAB实现方法。

2. 学生能够运用MATLAB编程实现图像的几何变换,并对变换后的图像进行分析。

3. 学生了解几何变换在计算机视觉、图像处理等领域的应用。

技能目标:1. 学生能够熟练运用MATLAB软件进行图像处理操作,掌握图像几何变换的相关函数。

2. 学生培养编程解决问题的能力,学会调试和优化MATLAB代码,提高计算效率。

3. 学生能够运用几何变换解决实际问题,具备一定的图像处理项目实践能力。

情感态度价值观目标:1. 学生培养对图像处理和计算机视觉领域的兴趣,激发学习热情。

2. 学生树立正确的科学观念,认识到几何变换在科技发展中的重要作用。

3. 学生培养团队合作精神,学会与他人共同解决问题,提高沟通与协作能力。

课程性质:本课程为高年级选修课程,侧重于实践与应用,以MATLAB软件为工具,结合图像处理的基本原理,培养学生的实际操作能力和编程技能。

学生特点:学生具备一定的数学基础和编程能力,对图像处理和计算机视觉有一定了解,求知欲强,喜欢动手实践。

教学要求:教师需结合学生特点和课程性质,采用讲授、实践、讨论等多种教学方法,引导学生主动参与,注重培养学生的实际操作能力和创新思维。

同时,注重课后辅导,及时解答学生疑问,确保课程目标的实现。

通过本课程的学习,使学生能够掌握几何变换的基本原理和MATLAB实现方法,为后续相关领域的学习和研究打下坚实基础。

二、教学内容1. 几何变换基本概念:介绍平移、旋转、缩放等基本几何变换的定义、数学表达和几何意义。

- 教材章节:第二章 图像几何变换2. MATLAB编程基础:回顾MATLAB编程的基本语法,强调数组操作和图像处理函数的应用。

- 教材章节:第一章 MATLAB基础3. 图像几何变换的MATLAB实现:- 平移变换:讲解平移变换的MATLAB函数及其参数设置。

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

数字图像处理论文--图像的几何变换及其MATLAB实现学院:理学院专业:信息与计算科学班级:信计1012 姓名:学号:任课老师:集美大学理学院二○一三年十一月二十八日目录摘要 (1)一、何谓数字图像处理 (1)二、数字图像几何变换简介 (1)三、MATLAB图像处理工具介绍 (1)四、图像几何变换的MATLAB实现 (2)4.1图像几何变换的概述 (2)4.2 图像的平移变换 (2)4.3 图像的比例缩放 (4)4.4 图像的镜像变换 (5)4.5 图像的旋转变换 (7)4.6 图像的剪取 (8)五、图像几何变换的应用以及技术局限 (10)参考文献 (10)摘要:图像变换就是把图像从空间域转换到变换域(如频率域)的过程。

图像变换可以使人们从另一角度来分析图像信号的特性,利用变换域中特有的性质,使图像处理过程更加简单、有效。

图像变换是许多图像处理与分析技术的基础,而几何变换是图像变换中最基础也是应用最广泛的技术之一,本文基于MATLAB的图像处理工具,通过改变图像像素的空间位置或估算新空间位置上的像素值,从而实现图像的平移、缩放、旋转、镜像变换、图像插值等几何变换。

关键字:图像变换、几何变换、MATLAB一、何谓数字图像处理数字图像处理(Digital Image Processing),就是利用数字计算机或则其他数字硬件,对从图像信息转换而得到的电信号进行某些数学运算,以提高图像的实用性。

例如从卫星图片中提取目标物的特征参数,三维立体断层图像的重建等。

总的来说,数字图像处理包括点运算、几何处理、图像增强、图像复原、图像形态学处理、图像编码、图像重建、模式识别等。

目前数字图像处理的应用越来越广泛,已经渗透到工业、医疗保健、航空航天、军事等各个领域,在国民经济中发挥越来越大的作用。

二、数字图像几何变换简介[3]今天数字技术时代,我们身边接触到很多的数字图像,而对数字图像的处理往往会遇到需要对图像进行几何变换的一些问题。

图像几何变换是图像显示技术中的一个重要组成部分。

在图像几何变换中主要包括图像的缩放、旋转、移动、剪取等内容。

无论照片、图画、书报、还是医学X光和卫星遥感图像等领域都会用到这些技术。

通过图像的几何变换技术,可以显著提高图像处理效率和质量,为更进一步的图像处理奠定基础。

三、MATLAB图像处理工具介绍[1]MATLAB全称是Matrix Laboratory(矩阵实验室),一开始它是一种专门用于矩阵数值计算的软件。

它绝大多数的运算都是通过矩阵这一形式进行的,这一特点也就决定了MATLAB 在处理数字图像上的独特优势。

在计算机上对图像进行数字处理的时候,首先必须对其在空间和亮度上进行数字化,二维图像进行均匀采样,就可以得到一幅离散化成M ×N 样本的数字图像,该数字图像是一个整数阵列,因而用矩阵来描述该数字图像是最直观最简便的了。

而MATLAB 的长处就是处理矩阵运算,因此用MATLAB 处理数字图像非常的方便。

我们可以应用MATLAB 的图像处理工具包实现图像平移、缩放和旋转等几何变换。

图像处理工具包是由一系列支持图像处理操作的函数组成的。

所支持的图像处理操作有:图像的几何操作、邻域和区域操作、图像变换、图像恢复与增强、线性滤波和滤波器设计、变换(DCT 变换等) 、图像分析和统计、二值图像操作等。

MATLAB 在图像中的应用都是由相应的MATLAB 函数来实现的,使用时,只需按照函数的调用语法正确输入参数即可实现图像的几何变换。

四、图像几何变换的MATLAB 实现[2]4.1、图像几何变换的概述图像几何变换的实质是改变像素的空间位置或估算新空间位置上的像素值。

图像几何变换的一般表达式:[,][(,),(,)]u v X x y Y x y =其中,[,]u v 为变换后图像像素的笛卡尔坐标,[,]x y 为原始图像中像素的笛卡尔坐标。

这样就得到了原始图像与变换后图像的像素的对应关系。

如果(,),(,)X x y x Y x y y ==则有[,][,]u v x y =即变换后图像仅仅是原图像的简单拷贝。

4.2、图像的平移变换图像平移就是将图像中所有的点都按照指定的平移量水平、垂直移动。

设(x0,y0)为原图像上的一点,图像水平平移量为tx ,垂直平移量为ty ,则平移后点(x0,y0)坐标将变为(x1,y1)。

显然(x0,y0)和(x1,y1)的关系如下:⎩⎨⎧+=+=tyy y tx x x 0101用矩阵表示如下:⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡1001001001111y x ty tx y x 对该矩阵求逆,可以得到逆变换:⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡--=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡1111001001100y x ty tx y x 即⎩⎨⎧-=-=tyy y tx x x 1010这样,平移后的图像上的每一点都可以在原图像中找到对应的点。

例如,对于新图中的(0,0)像素,代入上面的方程组,可以求出对应原图中的像素(-tx ,-ty )。

如果tx 或ty 大于0,则(- tx ,- ty )不在原图中。

对于不在原图中的点,可以直接将它的像素值统一设置为0或则255(对于灰度图就是黑色或白色)。

同样,若有点不在原图中,也就说明原图中有点被移出显示区域。

如果不想丢失被移出的部分图像,可以将新生成的图像宽度扩大|tx |,高度扩大| ty |。

Matlab 实现J=imread('E:\image3.jpg');figure; subplot(1,3,1); imshow(J); title('原图');s=translate(strel(1),[50,-50]); J1=imdilate(J,s); subplot(1,3,2); imshow(J1);title('左下方平移');s=translate(strel(1),[50,50]); J2=imdilate(J,s); subplot(1,3,3); imshow(J2);title('右下方平移'); 运行结果:4.3、图像的比例缩放图像比例缩放是指将给定的图像在x 轴方向按比例缩放x f 倍,在y 轴按比例缩放y f 倍,从而获得一幅新的图像。

如果x y f f =,即在x 轴方向和y 轴方向缩放的比率相同,称这样的比例缩放为图像的全比例缩放。

如果x y f f ≠,图像的比例缩放会改变原始图象的像素间的相对位置,产生几何畸变。

设原图像中的点000(,)P x y 比例缩放后,在新图像中的对应点为(,)P x y ,则比例缩放前后两点000(,)P x y 、(,)P x y 之间的关系用矩阵形式可以表示为:⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡11000000100y x fy fx y x其中, x f 和y f 分别为0x 和0y 坐标的缩放因子,其大于1表示放大,小于1表示缩小。

MATLAB 实现:I=imread('E:\image3.jpg');figure;imshow(I); title('原图');J1=imresize(I,0.5,'nearest'); figure; imshow(J1);title('缩小图');J2=imresize(I,2,'nearest');figure;imshow(J2);title('放大图');运行结果:4.4、图像的镜像变换图像的镜像变换分为两种:一种是水平镜像,另外一种是垂直镜像。

图像的水平镜像操作是将图像的左半部分和右半部分以图像垂直中轴线为中心镜像进行对换;图像的垂直镜像操作是将图像上半部分和下半部分以图像水平中轴线为中心镜像进行对换。

设图像高度为lHeight,宽度为lWidth,原图中(x0,y0)经过水平镜像后坐标将变为(lWidth-x0,y0),其矩阵表达式为:⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡10010001001111x y lWidth y x逆运算矩阵表达式为:⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡11110001001100y x lWidth y x 即⎩⎨⎧=-=1010y y x lWidth x同样,(x0,y0)经过垂直镜像后坐标将变为(x0,lHeight-y0),其矩阵表达式为:⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡10010010001111y x lHeight y x 逆运算矩阵表达式为:⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡11110010001100y x lHeight y x 即⎩⎨⎧-==1010y lHeight y x xMATLAB 实现:I=imread('E:\MAN.tif');figure;subplot(1,3,1); imshow(I); title('原图');tform1=maketform('affine',[-1 0 0;0 1 0;1 0 1]); J1=imtransform(I,tform1,'nearest'); subplot(1,3,2); imshow(J1);title('水平镜像');tform2=maketform('affine',[1 0 0;0 -1 0;0 1 1]); J2=imtransform(I,tform2,'nearest'); subplot(1,3,3); imshow(J2);title('垂直镜像'); 运行结果:4.5、图像的旋转一般图像的旋转是以图像的中心为原点,旋转一定的角度。

旋转后,图像的大小一般会改变。

和图像平移一样,既可以把转出显示区域的图像截去,也可以扩大图像范围以显示所有的图像。

可以推导一下旋转运算的变换公式。

如下图所示,点(x0,y0)经过旋转θ度后坐标变成(x1,y1)。

在旋转前:⎩⎨⎧==)sin(0)cos(0θθr y r x 旋转后:⎩⎨⎧+-=-=-=+=+=-=)cos(0)sin(0)sin()cos()cos()sin()sin(1)sin(0)cos(0)sin()sin()cos()cos()cos(1θθθαθαθαθθθαθαθαy x r r r y y x r r r x 写成矩阵表达式为:⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡1001000)cos()sin(0)sin()cos(111y x y x θθθθ其逆运算如下:⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡1111000)cos()sin(0)sin()cos(100y x y x θθθθMATLAB 实现:I=imread('E:\WOMAN.jpg'); figure;subplot(1,2,1); imshow(I); title('原图'); [M,N]=size(I);ang=30; J=I;for i=1:M for j=1:Nx=floor((i-M/2)*cos(ang*pi/180)-(j-N/2)*(-sin(ang*pi/180))+M/2); y=floor((j-N/2)*cos(ang*pi/180)+(i-M/2)*(-sin(ang*pi/180))+N/2); if((x<M)&(y<N)&(x>0)&(y>0)) J(i,j)=I(x,y); elseJ(i,j)=0; end end endsubplot(1,2,2);imshow(J);title('图像旋转'); 运行结果:4.6、图像的剪取有时候我们为了减少图像所占存储空间,舍弃图像的无用部分,只保留感兴趣的部分,则需要用到图像的剪取。

相关文档
最新文档