实验三图像的几何运算实验目的1、理解几何运算的基本概念与定义;2、掌握在MATLAB中进行插值的方法3、运用MATLAB语言进行图像的插值缩放和插值旋转
实验原理几何运算可改变图像中各物体之间的空间关系
这种运算可以被看成是将(各)物体在图像内移动
一个几何运算需要两个独立的算法
首先,需要一个算法来定义空间变换本身,用它来描述每个像素如何从其初始位置“移动”到终止位置,即每个像素的“运动”
同时,还需要一个用于灰度插值的算法,这是因为,在一般情况下,输入图像的位置坐标(x,y)为整数,而输出图像的位置坐标为非整数,反过来也如此
因此插值就是对变换之后的整数坐标位置的像素值进行估计
MATLAB提供了一些函数实现这些功能
插值是常用的数学运算,通常是利用曲线拟合的方法,通过离散的采样点建立一个连续函数来逼近真实的曲线,用这个重建的函数便可以求出任意位置的函数值
最近邻插值是最简便的插值,在这种算法中,每一个插值输出像素的值就是在输入图像中与其最临近的采样点的值
该算法的数学表示为:如果最近邻插值是工具箱函数默认使用的插值方法,而且这种插值方法的运算量非常小
不过,当图像中包含像素之间灰度级变化的细微结构时,最近邻插值法会在图像中产生人工的痕迹
双线性插值法的输出像素值是它在输入图像中2×2领域采样点的平均值,它根据某像素周围4个像素的灰度值在水平和垂直两个方向上对其插值
设,和是要插值点的坐标,则双线性插值的公式为:把按照上式计算出来的值赋予图像几何变换对应于处的像素,即可实现双线性插值
双三次插值的插值核为三次函数,其插值邻域的大小为4×4
它的插值效果比较好,但相应的计算量也比较大,在这里不做讨论
1、图像的缩放MATLAB图像处理工具箱中的函数imresize可以用上述的三种方法对图像进行插值缩放,如果不指定插值方法,则默认为最邻近插值法
imresize函数的语法格