图像的双立方插值

时间:2014-09-09 15:49:12

标签: matlab image-processing bicubic

我有一张4 * 4的图片' A'具有以下强度。

A =  55.0000   75.0000   95.0000   115.0000
     152.5000  110.0000  130.0000  150.0000
     125.0000  145.0000  165.0000  185.0000
     160.0000  55.0000   75.0000   95.0000

我使用

在matlab中对此图像进行双三次插值
 B =  interp2(A,'cubic')

我得到一张7 * 7图像(B)作为输出。

B =    55.0000   65.0000   75.0000   85.0000   95.0000   105.0000  115.0000
       119.3750  100.0781  92.5000   99.5703   112.5000  122.5000  132.5000
       152.5000  123.4375  110.0000  116.0938  130.0000  140.0000  150.0000
       142.6563  135.5664  135.3125  143.6035  155.3125  165.3125  175.3125
       125.0000  135.0000  145.0000  155.0000  165.0000  175.0000  185.0000
       134.6875  120.2734  115.6250  123.1836  135.6250  145.6250  155.6250
       160.0000  91.8750   55.0000   57.1875   75.0000   85.0000   95.0000

但我需要一张8 * 8的图像。如何实现。请解释一下这个方法。

1 个答案:

答案 0 :(得分:3)

我必须说,7x7对我来说似乎更合乎逻辑,因为在相邻点之间的中间插入了一个点。但是,如果您坚持使用8x8,则可以创建坐标网格并重新取样:

[mgx mgy] = meshgrid(1:4,1:4);
[mgx2 mgy2] = meshgrid(linspace(1,4,8), linspace(1,4,8));
B= interp2(mgx, mgy, A, mgx2, mgy2, 'cubic')