~inkscape.dev/inkscape-rendertest/trunk

« back to all changes in this revision

Viewing changes to perceptualdiff-1.1.1-alphamod/LPyramid.h

  • Committer: Johan B. C. Engelen
  • Date: 2014-11-12 22:14:29 UTC
  • Revision ID: j.b.c.engelen@alumnus.utwente.nl-20141112221429-ml7tzwn300a7qvkn
Add modified PerceptualDiff code (alpha fix)

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
Laplacian Pyramid
 
3
Copyright (C) 2006 Yangli Hector Yee
 
4
 
 
5
This program is free software; you can redistribute it and/or modify it under the terms of the
 
6
GNU General Public License as published by the Free Software Foundation; either version 2 of the License,
 
7
or (at your option) any later version.
 
8
 
 
9
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
 
10
without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 
11
See the GNU General Public License for more details.
 
12
 
 
13
You should have received a copy of the GNU General Public License along with this program;
 
14
if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
 
15
*/
 
16
#ifndef _LPYRAMID_H
 
17
#define _LPYRAMID_H
 
18
 
 
19
#define MAX_PYR_LEVELS 8
 
20
 
 
21
class LPyramid
 
22
{
 
23
public: 
 
24
        LPyramid(float *image, int width, int height);
 
25
        virtual ~LPyramid();
 
26
        float Get_Value(int x, int y, int level);
 
27
protected:
 
28
        float *Copy(float *img);
 
29
        void Convolve(float *a, float *b);
 
30
        
 
31
        // Succesively blurred versions of the original image
 
32
        float *Levels[MAX_PYR_LEVELS];
 
33
 
 
34
        int Width;
 
35
        int Height;
 
36
};
 
37
 
 
38
#endif // _LPYRAMID_H
 
39