Fawkes API
Fawkes Development Version
|
#include <>>
Public Member Functions | |
Filter (const char *name, unsigned int max_num_buffers=1) | |
Constructor. More... | |
virtual | ~Filter () |
Destructor. More... | |
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. More... | |
virtual void | set_src_buffer (unsigned char *buf, ROI *roi, unsigned int buffer_num) |
Set source buffer. More... | |
virtual void | set_dst_buffer (unsigned char *buf, ROI *roi) |
Set the destination buffer. More... | |
virtual void | set_orientation (orientation_t ori, unsigned int buffer_num) |
Set the orientation to apply the filter in. More... | |
virtual const char * | name () |
Get filter name. More... | |
virtual void | apply ()=0 |
void | shrink_region (ROI *r, unsigned int n) |
This shrinks the regions as needed for a N x N matrix. More... | |
Protected Attributes | |
unsigned int | _max_num_buffers |
Maximum number of buffers. More... | |
char * | _name |
Filter name. More... | |
unsigned char ** | src |
Source buffers, dynamically allocated by Filter ctor. More... | |
unsigned char * | dst |
Destination buffer. More... | |
ROI ** | src_roi |
Source ROIs, dynamically allocated by Filter ctor. More... | |
ROI * | dst_roi |
Destination ROI. More... | |
orientation_t * | ori |
Orientations, one for each source image. More... | |
Filter interface. This class defines the general interface that filters are used with.
firevision::Filter::Filter | ( | const char * | name, |
unsigned int | max_num_buffers = 1 |
||
) |
Constructor.
name | name of the filter |
max_num_buffers | The maximum number of source buffers that can be set. |
Definition at line 51 of file filter.cpp.
|
virtual |
Destructor.
Definition at line 71 of file filter.cpp.
|
pure virtual |
Apply the filter. Apply the filter to the given source and destination buffers with given width and height and orientation (ori may be ignored for some filters).
Implemented in firevision::FilterClosing, firevision::FilterOpening, firevision::FilterThreshold, firevision::FilterColorThreshold, firevision::FilterROIDraw, firevision::FilterNothing, firevision::FilterHSearch, firevision::FilterLaplace, firevision::FilterDilation, firevision::FilterGeodesicDilation, firevision::FilterGeodesicErosion, firevision::FilterGauss, firevision::FilterHipass, firevision::FilterMedian, firevision::FilterOr, firevision::FilterSharpen, firevision::FilterSobel, firevision::FilterCompare, firevision::FilterDifference, firevision::FilterInvert, firevision::FilterMax, firevision::FilterMin, firevision::FilterTophatClosing, firevision::FilterSum, firevision::FilterHVSearch, firevision::FilterShapeRemover, firevision::FilterErosion, firevision::FilterSegment, firevision::FilterScanlineSegmentation, firevision::FilterRectify, firevision::FilterColorSegmentation, and firevision::FilterUnwarp.
|
virtual |
|
virtual |
Set the destination buffer.
buf | Buffer to use as destination image |
roi | Region Of Interest where the result is put in the dst image |
Reimplemented in firevision::FilterClosing, and firevision::FilterOpening.
Definition at line 123 of file filter.cpp.
Referenced by firevision::FilterClosing::set_src_buffer(), and firevision::FilterOpening::set_src_buffer().
|
virtual |
Set the orientation to apply the filter in.
Maybe ignored by some filters.
ori | Orientation |
buffer_num | buffer this orientation applies to |
Definition at line 135 of file filter.cpp.
|
virtual |
Set source buffer with orientation.
buf | Buffer to use as source image |
roi | Region Of Interest to work on |
ori | Orientation to apply the filter in, maybe ignored in some filters |
buffer_num | source buffer to set for filter that need multiple src buffers |
OutOfBoundsException | Thrown if buffer_num is illegal |
Reimplemented in firevision::FilterClosing, and firevision::FilterOpening.
Definition at line 89 of file filter.cpp.
Referenced by firevision::FilterClosing::set_src_buffer(), firevision::FilterOpening::set_src_buffer(), firevision::FilterClosing::~FilterClosing(), and firevision::FilterOpening::~FilterOpening().
|
virtual |
Set source buffer.
buf | Buffer to use as source image |
roi | Region Of Interest to work on |
buffer_num | source buffer to set for filter that need multiple src buffers |
OutOfBoundsException | Thrown if buffer_num is illegal |
Reimplemented in firevision::FilterClosing, and firevision::FilterOpening.
Definition at line 107 of file filter.cpp.
void firevision::Filter::shrink_region | ( | ROI * | r, |
unsigned int | n | ||
) |
This shrinks the regions as needed for a N x N matrix.
r | ROI to shrink |
n | size of the matrix |
Definition at line 158 of file filter.cpp.
References firevision::ROI::height, firevision::ROI::image_height, firevision::ROI::image_width, firevision::ROI::start, firevision::ROI::width, fawkes::upoint_t::x, and fawkes::upoint_t::y.
|
protected |
|
protected |
Destination buffer.
Definition at line 75 of file filter.h.
Referenced by firevision::FilterErosion::apply(), firevision::FilterMax::apply(), firevision::FilterMin::apply(), firevision::FilterSobel::apply(), firevision::FilterLaplace::apply(), firevision::FilterRectify::FilterRectify(), firevision::FilterUnwarp::FilterUnwarp(), firevision::FilterROIDraw::~FilterROIDraw(), and firevision::FilterTophatClosing::~FilterTophatClosing().
|
protected |
Destination ROI.
Definition at line 80 of file filter.h.
Referenced by firevision::FilterRectify::apply(), firevision::FilterUnwarp::apply(), firevision::FilterErosion::apply(), firevision::FilterMin::apply(), firevision::FilterMax::apply(), firevision::FilterSobel::apply(), firevision::FilterLaplace::apply(), firevision::FilterHVSearch::FilterHVSearch(), firevision::FilterRectify::FilterRectify(), and firevision::FilterUnwarp::FilterUnwarp().
|
protected |
Orientations, one for each source image.
Definition at line 83 of file filter.h.
Referenced by firevision::FilterClosing::~FilterClosing(), and firevision::FilterOpening::~FilterOpening().
|
protected |
Source buffers, dynamically allocated by Filter ctor.
Definition at line 73 of file filter.h.
Referenced by firevision::FilterRectify::apply(), firevision::FilterUnwarp::apply(), firevision::FilterErosion::apply(), firevision::FilterInvert::apply(), firevision::FilterMin::apply(), firevision::FilterMax::apply(), firevision::FilterOr::apply(), firevision::FilterSobel::apply(), firevision::FilterDilation::apply(), firevision::FilterLaplace::apply(), firevision::FilterThreshold::apply(), firevision::FilterCompare::FilterCompare(), firevision::FilterDifference::FilterDifference(), firevision::FilterHSearch::FilterHSearch(), firevision::FilterInvert::FilterInvert(), firevision::FilterSegment::FilterSegment(), firevision::FilterSum::FilterSum(), and firevision::FilterTophatClosing::~FilterTophatClosing().
|
protected |
Source ROIs, dynamically allocated by Filter ctor.
Definition at line 78 of file filter.h.
Referenced by firevision::FilterRectify::apply(), firevision::FilterUnwarp::apply(), firevision::FilterErosion::apply(), firevision::FilterShapeRemover::apply(), firevision::FilterInvert::apply(), firevision::FilterMin::apply(), firevision::FilterMax::apply(), firevision::FilterSobel::apply(), firevision::FilterOr::apply(), firevision::FilterDilation::apply(), firevision::FilterLaplace::apply(), firevision::FilterThreshold::apply(), firevision::FilterHipass::FilterHipass(), firevision::FilterHSearch::FilterHSearch(), firevision::FilterHVSearch::FilterHVSearch(), firevision::FilterInvert::FilterInvert(), firevision::FilterMedian::FilterMedian(), firevision::FilterOr::FilterOr(), firevision::FilterSegment::FilterSegment(), and firevision::FilterSharpen::FilterSharpen().