#include <BicubicImInterpolator.hpp>
Inheritance diagram for BicubicImInterpolator:


Purpose: Define the concept of bicubic interpolator
One wants to define values between pixels for computation or magnification
Book: "Numerical receipes in c.", William H. Press and all, Cambridge University, 1988, p105-108
@ Copyrights: Bernard De Cuyper & Eddy Fraiha 2004, Eggs & Pictures. MIT/Open BSD copyright model.
Public Methods | |
| BicubicImInterpolator (AnImage *animage=0) | |
| virtual | ~BicubicImInterpolator () |
| virtual int | igetR (double x, double y, int c=0) |
| virtual double | getR (double x, double y, int c=0) |
Static Public Attributes | |
| const int | wt [16][16] |
Protected Methods | |
| void | computeBoxAndGradients (double x, double y, int c=0) |
| void | computeCoefficients () |
Private Attributes | |
| int | ix |
| int | iy |
| int | ichannel |
| float | y [4] |
| float | y1 [4] |
| float | y2 [4] |
| float | y12 [4] |
| float | c [4][4] |
|
|
Initial value:
{
{ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0},
{-3, 0, 0, 3, 0, 0, 0, 0,-2, 0, 0,-1, 0, 0, 0, 0},
{ 2, 0, 0,-2, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0},
{ 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0},
{ 0, 0, 0, 0,-3, 0, 0, 3, 0, 0, 0, 0,-2, 0, 0,-1},
{ 0, 0, 0, 0, 2, 0, 0,-2, 0, 0, 0, 0, 1, 0, 0, 1},
{-3, 3, 0, 0,-2,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 0, 0,-3, 3, 0, 0,-2,-1, 0, 0},
{ 9,-9, 9,-9, 6, 3,-3,-6, 6,-6,-3, 3, 4, 2, 1, 2},
{-6, 6,-6, 6,-4,-2, 2, 4,-3, 3, 3,-3,-2,-1,-1,-2},
{ 2,-2, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 0, 0, 2,-2, 0, 0, 1, 1, 0, 0},
{-6, 6,-6, 6,-3,-3, 3, 3,-4, 4, 2,-2,-2,-2,-1,-1},
{ 4,-4, 4,-4, 2, 2,-2,-2, 2,-2,-2, 2, 1, 1, 1, 1}
} |
![]() |
