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


Purpose: Define the concept of a very good double size magnifier. Better than bilinear and bicubic interpolations.
This magnification take care of oblique edges. Based on rational operators.
Weakness: Less blurring but it oscillates at strong edges, and it is more blocky than cubic spline.
Not recommanded for segmentation, and really accurate edges. (Bernard comment)
Book: "A High Quality 2X image interpolator.", S. Carrato & L.Tenze, University of Trieste, 1996
@ Copyrights: Bernard De Cuyper & Eddy Fraiha 2004, Eggs & Pictures. MIT/Open BSD copyright model.
Public Methods | |
| HighQuality2Magnifier (AnImage *animage=0) | |
| virtual | ~HighQuality2Magnifier () |
| virtual int | igetR (double x, double y, int c=0) |
| virtual double | getR (double x, double y, int c=0) |
| virtual AnImage * | magnify (double factor=2.0, AnImage *dest=0) |
| virtual AnImage * | magnify2 (AnImage *dest=0) |
Protected Methods | |
| double | computeY1 (int x, int y, int c) |
| double | computeY2 (int x, int y, int c) |
| double | computeY3 (int x, int y, int c) |
| double | computeY4 (int x, int y, int c) |
Private Attributes | |
| double | d1 |
| double | d2 |
| double | d3 |
| double | q [4] |
| double | eps |
| double | y1 |
| double | y2 |
| double | y3 |
| double | y4 |
Static Private Attributes | |
| const float | p [4][9] |
|
|
Initial value:
{
{ 14.1,112.4, 0.2,-19.5, 5.0, 19.2, -2.9,-29.5, -7.7},
{ 64.4,-81.0,158.2, 24.0, 38.3, 70.5, 59.6, 65.6, 22.5},
{ 61.5, 94.9, -6.5, 45.6, 31.2, 35.8, 55.9,-52.3,-52.5},
{ 97.5, 96.3, -3.9,159.5,115.2, 59.6,117.9,132.4, 96.4}
} |
![]() |
