Fawkes API  Fawkes Development Version
imagediff.h
1 
2 /***************************************************************************
3  * imagediff.h - check if two images differ, allow probabilistic scanning
4  * by using scanlines.
5  *
6  * Generated: Tue Jun 06 10:08:36 2006
7  * Copyright 2005-2007 Tim Niemueller [www.niemueller.de]
8  *
9  ****************************************************************************/
10 
11 /* This program is free software; you can redistribute it and/or modify
12  * it under the terms of the GNU General Public License as published by
13  * the Free Software Foundation; either version 2 of the License, or
14  * (at your option) any later version. A runtime exception applies to
15  * this software (see LICENSE.GPL_WRE file mentioned below for details).
16  *
17  * This program is distributed in the hope that it will be useful,
18  * but WITHOUT ANY WARRANTY; without even the implied warranty of
19  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20  * GNU Library General Public License for more details.
21  *
22  * Read the full text in the LICENSE.GPL_WRE file in the doc directory.
23  */
24 
25 #ifndef __FIREVISION_FVUTILS_STATISTICAL_IMAGEDIFF_H_
26 #define __FIREVISION_FVUTILS_STATISTICAL_IMAGEDIFF_H_
27 
28 #include <fvmodels/scanlines/scanlinemodel.h>
29 
30 namespace firevision {
31 #if 0 /* just to make Emacs auto-indent happy */
32 }
33 #endif
34 
35 class ImageDiff {
36  public:
37  ImageDiff(ScanlineModel *scanline_model);
38  ImageDiff();
39  ~ImageDiff();
40 
41  void setBufferA(unsigned char *yuv422planar_buffer,
42  unsigned int width, unsigned int height);
43 
44  void setBufferB(unsigned char *yuv422planar_buffer,
45  unsigned int width, unsigned int height);
46 
47  bool different();
48  unsigned int numDifferingPixels();
49 
50  private:
51  ScanlineModel *scanline_model;
52 
53  unsigned char *buffer_a;
54  unsigned char *buffer_b;
55 
56  unsigned int width_a;
57  unsigned int height_a;
58  unsigned int width_b;
59  unsigned int height_b;
60 
61 };
62 
63 } // end namespace firevision
64 
65 #endif
unsigned int numDifferingPixels()
Number of differing pixels.
Definition: imagediff.cpp:152
ImageDiff()
Constructor.
Definition: imagediff.cpp:52
void setBufferA(unsigned char *yuv422planar_buffer, unsigned int width, unsigned int height)
Set first buffer.
Definition: imagediff.cpp:70
Scanline model interface.
Definition: scanlinemodel.h:55
~ImageDiff()
Destructor.
Definition: imagediff.cpp:59
bool different()
Check if images are different.
Definition: imagediff.cpp:102
Image difference checker.
Definition: imagediff.h:35
void setBufferB(unsigned char *yuv422planar_buffer, unsigned int width, unsigned int height)
Set second buffer.
Definition: imagediff.cpp:85