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