#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} } |