OpenCV 图像插值计算(双线性插值/双三次插值)

图像插值也叫图像重采样,在很多需要进行图像定位的计算中大量用到,OpenCV将图像插值的函数封装到了其与几何变换相关的函数中,并未直接暴露独立进行图像插值计算的接口,而在需要情况下我们需要对图像进行直接的插值计算,本文给出了两个常用的图像插值接口:双线性插值与双三次插值。

1.双线性插值:

double GetBilinarVal(double* val, double dx, double dy)
{
	double r4 = dx * dy;
	return (1 + r4 - dx - dy) * val[0] + (dx - r4) * val[1] + (dy - r4) * val[2] + r4 * val[3];
}

2.双三次插值:

double GetBicubicVal(double* val, double dx, double dy)
{
	const float A = -0.75f;

	double coeffsX[4]; 
	coeffsX[0] = ((A*(dx + 1) - 5*A)*(dx + 1) + 8*A)*(dx + 1) - 4*A;
	coeffsX[1] = ((A + 2)*dx - (A + 3))*dx*dx + 1;
	coeffsX[2] = ((A + 2)*(1 - dx) - (A + 3))*(1 - dx)*(1 - dx) + 1;
	coeffsX[3] = 1.f - coeffsX[0] - coeffsX[1] - coeffsX[2];

	double coeffsY[4]; 
	coeffsY[0] =
  • 2
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值