我正在使用Matlab/Octave imresize()
函數重新採樣給定的二維數組。我想了解imresize
中使用的特定插值算法是如何工作的。在Matlab的imresize函數中用於插值的算法是什麼?
(我在窗戶上使用八度)
例如,
A = 1 2
3 4
是一個2D數組。然後我用命令
b=imresize(a,2,'linear');
基本採樣的行和列由2
輸出是
1.0000 1.3333 1.6667 2.0000
1.6667 2.0000 2.3333 2.6667
2.3333 2.6667 3.0000 3.3333
3.0000 3.3333 3.6667 4.0000
我不明白這是如何線性插值工作。據說使用
bi
線性插值,但是它如何在邊界處填充數據,以及它如何獲得輸出?
第二個例子: 對於
A =
1 2 3 4
5 6 7 8
0 1 2 3
1 2 3 4
如何imresize(a,1.5,'linear')
給下面的輸出?
1.00000 1.60000 2.20000 2.80000 3.40000 4.00000
3.40000 4.00000 4.60000 5.20000 5.80000 6.40000
4.00000 4.60000 5.20000 5.80000 6.40000 7.00000
1.00000 1.60000 2.20000 2.80000 3.40000 4.00000
0.40000 1.00000 1.60000 2.20000 2.80000 3.40000
1.00000 1.60000 2.20000 2.80000 3.40000 4.00000
@Oli - 謝謝。我知道了。我假設,不同比例因子的權重計算將採用適當的值。即對於我的例子來說,權重爲0.33,0.66,因爲如果將2個樣本內插到總共N個樣本,則給定樣本將被內插到總共4個樣本,權重將是1 /(N-1),2 /( N-1)不是嗎? – goldenmean
@OliCharlesworth - 編輯的OP添加第二個例子,通過分數比例因子重新採樣。在這種情況下,不清楚它如何編制其產出。你可以。上面的檢查。 – goldenmean
@Oli - 關於我在OP中添加的第二個示例的任何輸入? – goldenmean