|
Darwin
1.10(beta)
|
Holds the results of running an image through a bank of filters and allows for computation of features over rectangular regions. More...
Public Member Functions | |
| drwnFilterBankResponse () | |
| default constructor | |
| drwnFilterBankResponse (const drwnFilterBankResponse &f) | |
| copy constructor | |
| void | clear () |
| clears the filter bank responses (and releases memory) | |
| bool | empty () const |
| returns true if their are no filter responses | |
| int | size () const |
| returns the number of responses from the filter bank | |
| int | width () const |
| returns the width of each filter response (i.e., image width) | |
| int | height () const |
| returns the height of each filter response (i.e., image height) | |
| size_t | memory () const |
| returns number of bytes stored | |
| void | addResponseImage (cv::Mat &r) |
| add a filter response image to the filterbank (takes ownership) | |
| void | addResponseImages (vector< cv::Mat > &r) |
| add a number of filter response images to the filterbank (takes ownership) | |
| void | copyResponseImage (const cv::Mat &r) |
| copies a filter response image to the filterbank (called retains ownership) | |
| void | copyResponseImages (const vector< cv::Mat > &r) |
| copies a number of filter response images to the filterbank (called retains ownership) | |
| const cv::Mat & | getResponseImage (int i) const |
| return the i-th filter response image | |
| void | deleteResponseImage (int i) |
delete the i-th filter response image (all responses above i are renumbered) | |
| void | exponentiateResponses (double alpha=1.0) |
| transform responses by exponentiation (useful, for example, when approximating max over a region, via log-sum-exp) | |
| void | normalizeResponses () |
| transform responses by pixelwise normalization (e.g., following an exponentiation) | |
| void | expAndNormalizeResponses (double alpha=1.0) |
| transform responses by pixelwise exponentiation and normalization. More numerically stable than exponentiateResponses followed by normalizeResponses. | |
| VectorXd | value (int x, int y) const |
| value of each filter at given pixel | |
| VectorXd | mean (int x, int y, int w, int h) const |
| mean of each filter in rectangular region <x, y, x+w, y+h> | |
| VectorXd | energy (int x, int y, int w, int h) const |
| sum of squared values for each filter in rectangular region <x, y, x+w, y+h> | |
| VectorXd | variance (int x, int y, int w, int h) const |
| variance of each filter in rectangular region <x, y, x+w, y+h> | |
| VectorXd | mean (const list< cv::Point > &pixels) const |
| mean of each filter over given pixels | |
| VectorXd | energy (const list< cv::Point > &pixels) const |
| energy of each filter over given pixels | |
| VectorXd | variance (const list< cv::Point > &pixels) const |
| variance of each filter over given pixels | |
| VectorXd | mean (const cv::Mat &mask) const |
| mean of each filter over masked pixels | |
| VectorXd | energy (const cv::Mat &mask) const |
| energy of each filter over masked pixels | |
| VectorXd | variance (const cv::Mat &mask) const |
| variance of each filter over masked pixels | |
| VectorXd | mean () const |
| mean of each filter over entire image | |
| VectorXd | energy () const |
| energy of each filter over entire image | |
| VectorXd | variance () const |
| variance of each filter over entire image | |
| cv::Mat | visualize () const |
| visualize the feature responses | |
Protected Attributes | |
| vector< cv::Mat > | _responses |
| filter responses | |
| vector< cv::Mat > | _sum |
| sum of filter responses (integral image) | |
| vector< cv::Mat > | _sqSum |
| sum of filter responses squared | |
Holds the results of running an image through a bank of filters and allows for computation of features over rectangular regions.
The difference between addResponseImage and copyResponseImage functions is that the former does not clone the images — the calling function must not modify the image since this will corrupt data internal to drwnFilterBankResponse. Response images should be 32-bit floating point.
The class uses integral images to allow quick computation of sums over rectangular regions. For example, the following code snippet computes the mean image intensity over a few small rectangular patches.
1.8.13