In this recipe, our objective is to apply some processing function to each of the frames of a video sequence. We will do this by encapsulating the OpenCV video capture framework into our own class. Among other things, this class will allow us to specify a function that will be called each time a new frame is extracted.
What we want is to be able to specify a processing function (a callback function) that will be called at each frame of a video sequence. This function can be defined as receiving a
cv::Mat instance and outputting a processed frame. Therefore, we designed it to have the following signature:
void processFrame(cv::Mat& img, cv::Mat& out);
As an example of such processing function, consider ...