C-Sharp | Java | Python | Swift | GO | WPF | Ruby | Scala | F# | JavaScript | SQL | PHP | Angular | HTML
OpenCV Image FiltersImage filtering is the process of modifying an image by changing its shades or color of the pixel. It is also used to increase brightness and contrast. In this tutorial, we will learn about several types of filters. Bilateral Filter
OpenCV provides the bilateralFilter() function to apply the bilateral filter on the image. The bilateral filter can reduce unwanted noise very well while keeping edges sharp. The syntax of the function is given below: cv2.bilateralFilter(src, dst, d, sigmaSpace, borderType) Parameters:
Consider the following example:
import cv2
import numpy as np
from matplotlib import pyplot as plt
img = cv2.imread(r'C:\Users\DEVANSH SHARMA\baloon.jpg',1)
kernel = np.ones((5,5),np.float32)/25
blur = cv2.bilateralFilter(img,9,75,75)
plt.subplot(121),plt.imshow(img),plt.title('Original')
plt.xticks([]), plt.yticks([])
plt.subplot(122),plt.imshow(blur),plt.title('Bilateral Filter')
plt.xticks([]), plt.yticks([])
cv2.imshow("Image",blur)
Output
Box Filter
We can perform this filter using the boxfilter() function. It is similar to the averaging blur operation. The syntax of the function is given below: cv2. boxfilter(src, dst, ddepth, ksize, anchor, normalize, bordertype) Parameters:
Consider the following example:
import cv2
import numpy as np
# using imread('path') and 0 denotes read as grayscale image
img = cv2.imread(r'C:\Users\DEVANSH SHARMA\baloon.jpg',1)
img_1 = cv2.boxFilter(img, 0, (7,7), img, (-1,-1), False, cv2.BORDER_DEFAULT)
#This is using for display the image
cv2.imshow('Image',img_1)
cv2.waitKey(3) # This is necessary to be required so that the image doesn't close immediately.
#It will run continuously until the key press.
cv2.destroyAllWindows()
Output
Filter2D
It combines an image with the kernel. We can perform this operation on an image using the Filter2D() method. The syntax of the function is given below: cv2.Filter2D(src, dst, kernel, anchor = (-1,-1)) Parameters:
Consider the following example:
import cv2
import numpy as np
from matplotlib import pyplot as plt
img = cv2.imread(r'C:\Users\DEVANSH SHARMA\baloon.jpg',1)
kernel = np.ones((5,5),np.float32)/25
dst = cv2.filter2D(img,-1,kernel)
plt.subplot(121),plt.imshow(img),plt.title('Original')
plt.xticks([]), plt.yticks([])
plt.subplot(122),plt.imshow(dst),plt.title('Filter2D')
plt.xticks([]), plt.yticks([])
plt.show()
Output
Next TopicOpenCV Image Threshold
|