libcvd
|
This class is for bilinear interpolation. More...
#include <image_interpolate.h>
This class is for bilinear interpolation.
Define \(p' = ( \operatorname{floor}\ x, \operatorname{floor}\ y)\) and \(\delta = p - p'\)
4 pixels in a square with \(p'\) in the top left corner are taken:
\[\begin{array}{rl} a =& I(p')\\ b =& I(p' + (1,0))\\ c =& I(p' + (0,1))\\ d =& I(p' + (1,1)) \end{array} \]
The interpolated value, \(v\), is
\[v = (1-\delta_y)((1-\delta_x)a + \delta_xb) + \delta_y((1-\delta_x)c + \delta_xd)\]