Filtering and blurring with OpenCV
OpenCV also has many filtering and convolution functions. These filtering functions are cv2.filter2D()
, cv2.boxFilter()
, cv2.blur()
, cv2.GaussianBlur()
, cv2.medianBlur()
, cv2.sepFilter2D()
, and cv2.BilateralFilter()
. In this section, we will explore all these functions in detail.
2D convolution filtering
The cv2.filter2D()
function, just like the scipy.signal.convolve2d()
function, convolves a kernel with an image, thus applying a linear filter to the image. The advantage of the cv2.filter2D()
function is that we can apply it to data that has more than two dimensions. We can apply this to color images, too.
This function accepts the input image, the depth of the output image (-1 means the input and the output have the same depth), and a kernel for the convolution operation as arguments. The following code demonstrates the usage of this function:
import cv2 import numpy as np from matplotlib import pyplot as plt img = cv2.imread(&apos...