So far, we have talked about a couple of different filtering techniques: box filtering and Gaussian filtering. Both of them had their own set of rules for defining a filter and also had a dedicated set of functions to help you apply the filters to images. When we introduced the concept of filtering, we said that different operations can be performed on our images by simply changing the value of the filter. So, if we design our own custom filter, how do we apply that to our image? There needs to exist a function that is more generic than boxFilter()
, blur()
, or GaussianBlur()
and that will help us in applying the filter that we have designed to our input image. And OpenCV has the answer for you--the filter2D()
function.
We have already hinted at what the filter2D()
hopes to accomplish, so let's jump right into the code! I think at this point, I really don't need to say what the first few lines should look like:
#include <iostream> #include <opencv2...