超分辨率基礎(chǔ)_插值算法簡介1.插值算法
一組離散數(shù)據(jù)點在一個外延的插值。曲線中實際已知數(shù)據(jù)點是紅色的;連接它們的藍(lán)色曲線即為插值。 2.最近鄰插值算法
最近鄰插值法計算量較小,但可能會造成生的圖像灰度上的不連續(xù),在變化地方可能出現(xiàn)明顯鋸齒狀。 3.雙線性插值算法
以上是一維的,接下來看看二維中的雙線性插值 首先在x方向上面線性插值,得到R2、R1
然后以R2,R1在y方向上面再次線性插值
如果選擇一個坐標(biāo)系統(tǒng)使得 f 的四個已知點坐標(biāo)分別為 (0, 0)、(0, 1)、(1, 0) 和 (1, 1),那么插值公式就可以化簡為 用矩陣表示
雙線性內(nèi)插法的計算比最鄰近點法復(fù)雜,計算量較大但沒有灰度不連續(xù)的缺點,結(jié)果基本令人滿意。它具有低通濾波性質(zhì),使高頻分量受損,圖像輪廓可能會有一點模糊。 4.雙三次插值算法(bicubic interpolation)
雙三次插值計算公式 即
那么這個a(i, j)便是介紹里面所說的加權(quán)系數(shù)了,所以關(guān)鍵是要把它求解出來。 求解加權(quán)系數(shù)的公式如下 相關(guān)論文
當(dāng)a=-0.5時比較合適
bernstein說是riffman提出用sinx/x近似,啊哈就算這是源頭吧。。但是還差個pi
keys又說hou那他得到了啟發(fā),嗯,搜了一下果然。。難道說這個歐米茄就是pi? 額,它不是。那大概認(rèn)為大家都覺得乘上pi比較合適吧。 雙三次曲線插值方法計算量較大,但后的圖像效果最好。 5.代碼實現(xiàn)opencv
matlab
6.區(qū)別opencv和matlab的bicubic算法有什么區(qū)別?
來自Matlab的文檔: 'bicubic':雙立方插值(默認(rèn)值);輸出像素值是最近的4乘4鄰域中像素的加權(quán)平均值。 來自OpenCV的文檔: INTER_CUBIC - 4x4像素鄰域的雙三次插值。
所以對此的唯一解釋是他們使用不同的加權(quán)策略來獲得平均值。 來自Matlab imresize.m source,您可以找到內(nèi)核常量A (請參閱維基百科上的雙立方插值)設(shè)置為 -0.5 ,而在OpenCV中設(shè)置為 -0.75 (請參閱imgproc/src/imgwarp.cpp,函數(shù)interpolateCubic()在github上)。這為卷積提供了不同的內(nèi)核形狀,因此最終插值圖像的結(jié)果會略有不同。 參考https://blog.csdn.net/nandina179/article/details/85330552 |
|