实验2 几何变换与变形
实验2-1:图像缩放
实验要求:1)实现一个图像缩放函数,可以对输入图像进行任意倍数的缩放;
2)采用双线性插值进行重采样;
3)X,Y方向的缩放倍数参函数参数的形式传入;
4)可以只考虑输入图像为3通道,8位深度的情况;
5)不能调用图像处理库的缩放函数来完成;
参考函数:void Scale(const MyImage &input, MyImage &output, double sx, double sy);
对于实验一,先利用缩放倍数,求得缩放后图像的width和height。然后对缩放后图像中的每个像素点(x,y),利用如下公式:
x'=x/sx y'=y/sy (其中sx和sy分别为x和y轴上图像的缩放倍数)求得对应于缩放前图像中的(x',y'),满足f(x,y)=f(x',y')
由于x'和y'不一定为整数值,因而需要用双线性插值法求得f(x',y')
具体公式如下图

此外,对于缩放图像的左部和上部,会出现溢出问题,因此需要进行边界处理。
(而右下部不会出现该问题)
具体代码实现如下
运行结果:

实验2-2:图像变形

实验2-2根据实验提供的公式,逐步求出所需变量即可。
具体代码实现如下
运行结果:

版权声明:
本文来源网络,所有图片文章版权属于原作者,如有侵权,联系删除。
本文网址:https://www.mushiming.com/mjsbk/15005.html