Fawkes API Fawkes Development Version
opening.h
1
2/***************************************************************************
3 * opening.h - header for morphological opening filter
4 *
5 * Created: Mon Jun 05 13:39:30 2006
6 * Copyright 2005-2007 Tim Niemueller [www.niemueller.de]
7 *
8 ****************************************************************************/
9
10/* This program is free software; you can redistribute it and/or modify
11 * it under the terms of the GNU General Public License as published by
12 * the Free Software Foundation; either version 2 of the License, or
13 * (at your option) any later version. A runtime exception applies to
14 * this software (see LICENSE.GPL_WRE file mentioned below for details).
15 *
16 * This program is distributed in the hope that it will be useful,
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 * GNU Library General Public License for more details.
20 *
21 * Read the full text in the LICENSE.GPL_WRE file in the doc directory.
22 */
23
24#ifndef _FIREVISION_FILTER_MORPHOLOGY_OPENING_H_
25#define _FIREVISION_FILTER_MORPHOLOGY_OPENING_H_
26
27#include <fvfilters/morphology/morphologicalfilter.h>
28
29namespace firevision {
30
31class FilterDilation;
32class FilterErosion;
33
35{
36public:
38 virtual ~FilterOpening();
39
40 virtual void set_src_buffer(unsigned char *buf,
41 ROI * roi,
42 orientation_t ori = ORI_HORIZONTAL,
43 unsigned int buffer_num = 0);
44
45 virtual void set_src_buffer(unsigned char *buf, ROI *roi, unsigned int buffer_num);
46
47 virtual void set_dst_buffer(unsigned char *buf, ROI *roi);
48
49 virtual void set_structuring_element(unsigned char *se,
50 unsigned int se_width,
51 unsigned int se_height,
52 unsigned int se_anchor_x,
53 unsigned int se_anchor_y);
54
55 virtual void apply();
56
57private:
58 FilterDilation *dilate;
59 FilterErosion * erode;
60};
61
62} // end namespace firevision
63
64#endif
Morphological dilation.
Definition: dilation.h:31
Morphological erosion.
Definition: erosion.h:31
Morphological opening.
Definition: opening.h:35
virtual void set_src_buffer(unsigned char *buf, ROI *roi, orientation_t ori=ORI_HORIZONTAL, unsigned int buffer_num=0)
Set source buffer with orientation.
Definition: opening.cpp:53
virtual ~FilterOpening()
Destructor.
Definition: opening.cpp:46
virtual void set_structuring_element(unsigned char *se, unsigned int se_width, unsigned int se_height, unsigned int se_anchor_x, unsigned int se_anchor_y)
Set the structuring element for successive filter runs.
Definition: opening.cpp:78
virtual void apply()
Apply the filter.
Definition: opening.cpp:90
virtual void set_dst_buffer(unsigned char *buf, ROI *roi)
Set the destination buffer.
Definition: opening.cpp:70
FilterOpening()
Constructor.
Definition: opening.cpp:39
orientation_t * ori
Orientations, one for each source image.
Definition: filter.h:71
Morphological filter interface.
unsigned int se_height
Height of structuring element.
unsigned int se_width
Width of structuring element.
unsigned int se_anchor_y
Anchor point y offset of structuring element.
unsigned char * se
Structuring element.
unsigned int se_anchor_x
Anchor point x offset of structuring element.
Region of interest.
Definition: roi.h:55