双线性插值算法c 语言实现,双线性插值 - CristianoC的个人空间 - OSCHINA - 中文开源技术交流社区...
前言
最近在學(xué)習(xí)LBP,其中的圓形LBP特征由于計(jì)算的值可能不是整數(shù),即計(jì)算出來的點(diǎn)不在圖像上,我們要使用計(jì)算出來的點(diǎn)的插值點(diǎn)。目的的插值方法有很多,Opencv使用的是雙線性插值,今天就來介紹一下雙線性插值。
概述
先給大家一個(gè)形象的例子:如下圖所示,假設(shè)Q11 Q12 Q22 Q21為圖像上已知灰度值的整數(shù)點(diǎn),而我們要計(jì)算的P點(diǎn)并不在整數(shù)點(diǎn)上,這時(shí)候就要利用雙線性插值,即對R1 R2兩個(gè)點(diǎn)進(jìn)行插值,計(jì)算出P的灰度值。
流程及個(gè)人理解
雙線性插值,又稱為雙線性內(nèi)插。在數(shù)學(xué)上,雙線性插值是有兩個(gè)變量的插值函數(shù)的線性插值擴(kuò)展,其核心思想是在兩個(gè)方向分別進(jìn)行一次線性插值。首先我們進(jìn)行在X軸方向的插值。
設(shè)Q11(x1,y1),Q12(x1,y2),Q21(x2,y1),Q22(x2,y2),P(x,y)
其實(shí)這個(gè)公式很好理解,他就是按照與周圍兩個(gè)最近的整數(shù)點(diǎn)相近程度(距離)分配整數(shù)點(diǎn)的像素值到插值點(diǎn)處,當(dāng)時(shí)學(xué)習(xí)的時(shí)候我覺得甚至和初中學(xué)習(xí)的相似三角形有點(diǎn)像,都是按比例分配。
進(jìn)行完X軸方向的插值后,再進(jìn)行Y軸方向的插值,同理:
所以我們要求的P點(diǎn)的灰度值為:
這樣,就使用了插值的方式計(jì)算出非整數(shù)點(diǎn)的灰度值。
最后附上源碼:
總結(jié)
以上是生活随笔為你收集整理的双线性插值算法c 语言实现,双线性插值 - CristianoC的个人空间 - OSCHINA - 中文开源技术交流社区...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【LeetCode笔记】17.电话号码的
- 下一篇: java substring截取字符串_