virtual void apply(
const cv::Mat& src, // Input image
cv::Mat& dst // Result image
const cv::Rect& srcRoi = cv::Rect(0,0,-1,-1), // Region of interest to he processed
cv::Point dstOffs = cv::Point(0,0), // Offset to write to in destination image
bool isolated = false, // if true, use edge extrapolation
);
Internally, cv::FilterEngine::apply() just wraps up a call to
cv::FilterEngine::start() and then one big call to cv::FilterEngine::proceed(),
which then goes through the entire image. The only new detail is the argument dstOffs, which is the
destination offset. The destination offset is a point that indicates where in the destination image to write the
result of the processed ROI. If left at its default value of cv::Point(0,0), then the result data will be
written into the upper-left corner of the destination image. Otherwise, it will be offset appropriately. This is
particularly useful when you wish to process some ROI in the source image and write the results to the
corresponding location in the destination image.
Filter Engine Builders
OpenCV contains built in functions that will create filter engines for you. It is worth taking a moment to
appreciate what this really means. Creating a filter engine means both creating the filters that the engine
will apply (i.e., a box filter of a Gaussian filter, etc.), as well as