双线性插值法 Bilinear interpolation

注意以下內容轉載 https://jason-chen-1992.weebly.com/home/nearest-neighbor-and-bilinear-interpolation

一、影像放大 Image Enlargement
在影像處理上,對來源影像(Source Image) 做放大,一直都是很實際也很常見的需求。例如:
假設你今天買了一台4K的螢幕(標準的解析度為:40962160),但是你今天要播放的片源為Full HD(19201080)的,那麼問題就來啦~ 你的螢幕該如何顯示呢? 總不能就螢幕中間一塊有影像其他地方都黑的吧…
如果這樣的話,你還不打爆這螢幕製造商… 的客服電話。
這時候影像放大的技術就派上用場了,但是來源影像比較小張,而輸出需求影像比較大張,自然就會有很多像數點(Pixel)是沒有數值的,需要我們去把數值給補上( 插值 , interpolation )。
至於要怎麼插? 插的好不好? 怎麼插才算好? 這就是一門學問了!
所以也就有很多人是專門在研究 [ 影像放大 - 插值 ] 的演算法。
而我們今天沒打算講那麼深,就簡單跟各位介紹最簡單、最基本的兩種方法:
最近鄰居插值 Nearest neighbor Interpolation
雙線性插值 Bilinear Interpolation
在这里插入图片描述

二、​最近鄰居插值 Nearest neighbor Interpolation
最近鄰居法的理念其實很簡單,顧名思義: 今天有一個點的數值不知道該填多少進去,去找離你最近的鄰居看它是多少你就填多少就對了!
就像你考試的時候有一題不知道答案是多少,看看隔壁的寫多少照填就對了xD
下面再提一個例子給各位看,假設我要把一張22的圖 Enlargement 2倍變成 44:
在这里插入图片描述

在这里插入图片描述

用最近鄰居法來插值雖然很簡單,但是可以想像效果不是那麼好,特別是當你放大倍率相當大的時候會產生類似馬賽克那樣一格一格的現象,在人類的視覺這是相當不好的!
所以接下來要介紹的方法就能改善這一現象。
三、雙線性插值 Bilinear Interpolation
至於雙線性插值,相比於最近鄰居只參考一個點;
它參考了周邊的四個點,並依據到各點的距離做為權重來決定要填入多少。
就像你考試的時候要作弊,你看了周邊的四個同學的答案是多少,再考量你信任他們的程度來填你的答案。

參考下圖,具體可表達為:
欲求的點:P(x,y)
四鄰點:Q11(x1,y1)、Q12(x1,y2)、Q21(x2,y1)、Q22(x2,y2)
設距離:a’ = x2 - x1 、b’ = y2 - y1、a = x - x1 、b= y - y1
P(x,y) = ( (a’-a)(b’-b)Q11 + a(b’-b)Q21 + b(a’-a)Q12 + abQ22 ) / ( a’ * b’ )

在这里插入图片描述

這邊有一點要注意的是,NN 的方法比較簡單可以直接 source-to-target mapping 到 Result,而Bilinear 應該就沒辦法這麼做,基本上我們會使用 inverse mapping 的方式,參考下圖。
在这里插入图片描述

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值