#include "Util/Assert.H"
#include "Image/Image.H"
#include <vector>
Go to the source code of this file.
Functions | |
template<class T_or_RGB > | |
T_or_RGB | filterAtLocation (Image< T_or_RGB > *image, Image< float > *kernel, Point2D< int > *location) |
this method will apply a filter at a location and return a value | |
template<class T_or_RGB > | |
void | filterAtLocationBatch (const Image< T_or_RGB > *image, const Image< float > *kernel, const std::vector< Point2D< int > * > *location, std::vector< T_or_RGB > *results, const unsigned int size) |
this method will apply a filter at a location and return a value | |
template<class T_or_RGB > | |
void | multiScaleBatchFilter (const Image< T_or_RGB > *image, const std::vector< Point2D< int > * > *location, const unsigned int *locations, const std::vector< Image< float > > *filters, const unsigned int scales, const bool quarterSize, const bool normalize, std::vector< std::vector< T_or_RGB > > *results) |
This method applies filter on an image at multiple scales at select locals. | |
template<class T > | |
void | multiScaleJunctionFilter (const unsigned int size, const unsigned int scales, const std::vector< std::vector< PixH2SV2< T > > > *input, std::vector< std::vector< PixH2SV2< T > > > *results) |
this will find junctions after calling multiScaleBatchFilter | |
template<class T > | |
void | multiScaleJunctionFilter (const unsigned int size, const unsigned int scales, const std::vector< std::vector< T > > *input, std::vector< std::vector< T > > *results) |
call this optionally after multiScaleBatchFilter |
Filters for featureClusterVision
Definition in file featureClusterFilters.H.
T_or_RGB filterAtLocation | ( | Image< T_or_RGB > * | image, | |
Image< float > * | kernel, | |||
Point2D< int > * | location | |||
) | [inline] |
this method will apply a filter at a location and return a value
This method is useful if your need to filter an image in a non-linear method or only need to extract filtered patches. Other than that, you should use the other methods above.
Definition at line 137 of file featureClusterFilters.H.
References abs(), ASSERT, Image< T >::beginw(), Image< T >::getHeight(), Image< T >::getWidth(), Point2D< T >::i, and sum().
void filterAtLocationBatch | ( | const Image< T_or_RGB > * | image, | |
const Image< float > * | kernel, | |||
const std::vector< Point2D< int > * > * | location, | |||
std::vector< T_or_RGB > * | results, | |||
const unsigned int | size | |||
) | [inline] |
this method will apply a filter at a location and return a value
This method is useful if your need to filter an image in a non-linear method or only need to extract filtered patches. Other than that, you should use the other methods above. This method differs from filterAtLocation in that it accepts a batch of locations.
Definition at line 203 of file featureClusterFilters.H.
References abs(), ASSERT, Image< T >::begin(), Image< T >::getHeight(), Image< T >::getWidth(), and sum().
void multiScaleBatchFilter | ( | const Image< T_or_RGB > * | image, | |
const std::vector< Point2D< int > * > * | location, | |||
const unsigned int * | locations, | |||
const std::vector< Image< float > > * | filters, | |||
const unsigned int | scales, | |||
const bool | quarterSize, | |||
const bool | normalize, | |||
std::vector< std::vector< T_or_RGB > > * | results | |||
) | [inline] |
This method applies filter on an image at multiple scales at select locals.
When called this method will run each of the supplied filters on the image at the scales ranging from full scale to size/2^n. To keep the workings straight, supply a name for each filter and then you can be sure how the results allign in the output vector. The method for each filter is basic convolution, but it limited to each location rather than the whole image.
image | this is the input raw image | |
location | This is a list of the locations at which to apply filters | |
locations | This is how many locations are in the list | |
filterNames | a list of what each filter is called for labels | |
filters | these are several kernels for filter use | |
scales | how man scales down do you want to filter each image | |
quarterSize | scale image by sqrt(.5)(quarter-ish) or 1/2 | |
normalize | normalize over the filter outputs | |
results | what you get back from all this | |
resultsLables | User supplied descriptors for each filter |
Definition at line 305 of file featureClusterFilters.H.
References abs(), Image< T >::begin(), Image< T >::beginw(), decXY(), Image< T >::getHeight(), Image< T >::getWidth(), sqrt(), and sum().
Referenced by featureClusterVision< FLOAT >::fCVrunStandAloneMSBatchFilter(), and featureClusterVision< FLOAT >::fCVrunStandAloneMSBatchTest().
void multiScaleJunctionFilter | ( | const unsigned int | size, | |
const unsigned int | scales, | |||
const std::vector< std::vector< T > > * | input, | |||
std::vector< std::vector< T > > * | results | |||
) | [inline] |
call this optionally after multiScaleBatchFilter
Definition at line 568 of file featureClusterFilters.H.
void multiScaleJunctionFilter | ( | const unsigned int | size, | |
const unsigned int | scales, | |||
const std::vector< std::vector< PixH2SV2< T > > > * | input, | |||
std::vector< std::vector< PixH2SV2< T > > > * | results | |||
) | [inline] |
this will find junctions after calling multiScaleBatchFilter
This is optional and may be called to find junctions if multiScaleBatchFilter was called using gabor filters at 0,45,90 and 135 degrees. Call this after calling multiScaleBatchFilter if wanted.
Definition at line 468 of file featureClusterFilters.H.
References abs().
Referenced by featureClusterVision< FLOAT >::fCVrunStandAloneMSBatchFilter(), and featureClusterVision< FLOAT >::fCVrunStandAloneMSBatchTest().