数字图像处理 实验三 图像的几何变换实验

实验环境:windows 11      matlab2018a

注意,实验有参考成分!!!

一。实验目的:

1.熟悉MATLABOpenCV的操作和基本功能;

2.理解和掌握图像的平移、垂直镜像变换、水平镜像变换、缩放和旋转的原理和应用;

二、实验原理:

1、图像的平移:

图像平移与点的平移相类似,可以将图像的平移类比于图像的像素点的平移。

初始坐标为(x,y)的点经过平移(x0,y0),坐标变为(x',y')。

像:x1=x+x0,y1=y+y0一样,

以矩阵形式表示为∶

平移可以使用matlab的translate函数,注意参数的选择。

2.图像的镜像变换是以图像的垂直中轴线或者水平中轴线进行变换。有垂直变换和水平变换的区别。下面是矩阵表示。

在这里,可以使用matlab的flipdim函数进行操作,这里需要注意函数的参数的选择。

3.图像的缩小和放大的矩阵为:

Sx≤1,Sy≤1时,图像缩小;Sx≥1,Sy≥1时,图像放大。

这里的缩小和放大也可以类比于像素点的缩小与方法的问题。

这里的缩小和放大可以使用matlab的imresize函数,这里需要注意函数的操作。

4.图像的旋转操作:

我们一般认为图像应该绕着中心点旋转,但是图像的原点在左上角,在计算的时候首先需要将左上角的原点移到图像中心,并且Y轴需要翻转。

其变换矩阵为∶

该变换矩阵是绕坐标轴原点进行的,如果是绕一个指定点(a,b)旋转,则现要将坐标系平移到该点,进行旋转,然后再平移回到新的坐标原点。

图像的旋转可以使用matlab的imrotate函数进行,这里需要注意函数的参数。

三、实验内容步骤:

要求使用MATLABOpenCV来完成以下实验。

1.对图像进行平移变换;2.对图像进行垂直镜像变换;3.对图像进行水平镜像变换;

4.对图像进行缩放和旋转操作。

实验开始:

1.图像的平移变换:(这里的平移变换是任意坐标的变换)

代码使用到translate函数、imdilate函数,其中translate函数用于图像移动,imdilate函数用于图像的膨胀。

这里的两个set语句可以不用写,这里为了方便就加上了。

2.图像垂直镜像变换:这里使用了flipdim函数进行操作

这里注意,当flipdim函数第二个参数是1的时候,图像实现上下翻转,当第二个参数是2的时候,图像实现垂直轴的左右翻转。这个函数的使用需要在matlab高版本的条件下。

 

3.对图像进行水平镜像变换:

这里也像第二题一样使用flipdim函数都可以。

4.对图像进行缩放和旋转操作:

图像的缩放操作可以使用imresize函数,图像的旋转操作可以使用imrotate函数。

这里使用的imresize函数之中的参数’nearest’是改变图像尺寸时采用最近邻插值方法。

下面是旋转操作:

  • 2
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

stearm210

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值