双线性插值算法c 语言实现,双线性插值 - CristianoC的个人空间 - OSCHINA - 中文开源技术交流社区...

本文介绍了双线性插值的概念,它用于计算图像中非整数坐标点的灰度值。通过举例说明,阐述了在X轴和Y轴方向上分别进行线性插值的过程,最终得出目标点的灰度值。双线性插值是图像处理中常用的一种插值方法,尤其在LBP特征计算中扮演重要角色。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

0165208864c351879af2d5847ca84f11.png

前言

最近在学习LBP,其中的圆形LBP特征由于计算的值可能不是整数,即计算出来的点不在图像上,我们要使用计算出来的点的插值点。目的的插值方法有很多,Opencv使用的是双线性插值,今天就来介绍一下双线性插值。

概述

先给大家一个形象的例子:如下图所示,假设Q11 Q12 Q22 Q21为图像上已知灰度值的整数点,而我们要计算的P点并不在整数点上,这时候就要利用双线性插值,即对R1 R2两个点进行插值,计算出P的灰度值。

eb9e28818eea857f9f0ccc27b91cf203.png

流程及个人理解

双线性插值,又称为双线性内插。在数学上,双线性插值是有两个变量的插值函数的线性插值扩展,其核心思想是在两个方向分别进行一次线性插值。首先我们进行在X轴方向的插值。

设Q11(x1,y1),Q12(x1,y2),Q21(x2,y1),Q22(x2,y2),P(x,y)

d30db068ac89a58a6b6b1c43b53b8485.png

其实这个公式很好理解,他就是按照与周围两个最近的整数点相近程度(距离)分配整数点的像素值到插值点处,当时学习的时候我觉得甚至和初中学习的相似三角形有点像,都是按比例分配。

进行完X轴方向的插值后,再进行Y轴方向的插值,同理:

938355cf114da12e6e39af74ae316090.png

所以我们要求的P点的灰度值为:

bc9d9b240c1327e3cf7f63b4e6f93b7a.png

这样,就使用了插值的方式计算出非整数点的灰度值。

最后附上源码:

804aea28bb94419cdf0696547539cdf8.png

dffb9b02ea915ac5c44befa02146e6c5.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值