Image blurring

Image Blurring refers to making the image less clear or distinct. It is done with the help of various low pass filter kernels. Important types of blurring:

  • Gaussian Blurring: Gaussian blur is the result of blurring an image by a Gaussian function. It is a widely used effect in graphics software, typically to reduce image noise and reduce detail. It is also used as a preprocessing stage before applying our machine learning or deep learning models. E.g. of a Gaussian kernel(3×3)
  • Median Blur: The Median Filter is a non-linear digital filtering technique, often used to remove noise from an image or signal. Median filtering is very widely used in digital image processing because, under certain conditions, it preserves edges while removing noise. It is one of the best algorithms to remove Salt and pepper noise.
  • Bilateral Blur: A bilateral filter is a non-linear, edge-preserving, and noise-reducing smoothing filter for images. It replaces the intensity of each pixel with a weighted average of intensity values from nearby pixels. This weight can be based on a Gaussian distribution. Thus, sharp edges are preserved while discarding the weak ones.

Example: Python OpenCV Blur Image

Python3

# importing libraries
import cv2
import numpy as np
  
image = cv2.imread('geeks.png')
  
cv2.imshow('Original Image', image)
cv2.waitKey(0)
  
# Gaussian Blur
Gaussian = cv2.GaussianBlur(image, (7, 7), 0)
cv2.imshow('Gaussian Blurring', Gaussian)
cv2.waitKey(0)
  
# Median Blur
median = cv2.medianBlur(image, 5)
cv2.imshow('Median Blurring', median)
cv2.waitKey(0)
  
  
# Bilateral Blur
bilateral = cv2.bilateralFilter(image, 9, 75, 75)
cv2.imshow('Bilateral Blurring', bilateral)
cv2.waitKey(0)
cv2.destroyAllWindows()

                    

Output:

Getting Started with Python OpenCV

Computer Vision is one of the techniques from which we can understand images and videos and can extract information from them. It is a subset of artificial intelligence that collects information from digital images or videos. 

Python OpenCV is the most popular computer vision library. By using it, one can process images and videos to identify objects, faces, or even handwriting of a human. When it is integrated with various libraries, such as NumPy, python is capable of processing the OpenCV array structure for analysis.

In this article, we will discuss Python OpenCV in detail along with some common operations like resizing, cropping, reading, saving images, etc with the help of good examples.

Similar Reads

Installation

To install OpenCV, one must have Python and PIP, preinstalled on their system. If Python is not present, go through How to install Python on Linux? and follow the instructions provided. If PIP is not present, go through How to install PIP on Linux? and follow the instructions provided....

Reading Images

To read the images cv2.imread() method is used. This method loads an image from the specified file. If the image cannot be read (because of the missing file, improper permissions, unsupported or invalid format) then this method returns an empty matrix....

Example: Python OpenCV Read Image

Python3 # Python code to read image import cv2   # To read image from disk, we use # cv2.imread function, in below method, img = cv2.imread("geeks.png", cv2.IMREAD_COLOR)   print(img)...

Displaying Images

...

Saving Images

cv2.imshow() method is used to display an image in a window. The window automatically fits the image size....

Rotating Images

...

Resizing Image

cv2.imwrite() method is used to save an image to any storage device. This will save the image according to the specified format in the current working directory....

Color Spaces

...

Arithmetic Operations

cv2.rotate() method is used to rotate a 2D array in multiples of 90 degrees. The function cv::rotate rotates the array in three different ways....

Bitwise Operations on Binary Image

...

Image Translation

...

Edge Detection

Image resizing refers to the scaling of images. It helps in reducing the number of pixels from an image and that has several advantages e.g. It can reduce the time of training of a neural network as more is the number of pixels in an image more is the number of input nodes that in turn increases the complexity of the model. It also helps in zooming in images. Many times we need to resize the image i.e. either shrink it or scale up to meet the size requirements....

Simple Thresholding

...

Adaptive Thresholding

Color spaces are a way to represent the color channels present in the image that gives the image that particular hue. There are several different color spaces and each has its own significance. Some of the popular color spaces are RGB (Red, Green, Blue), CMYK (Cyan, Magenta, Yellow, Black), HSV (Hue, Saturation, Value), etc....

Otsu Thresholding

...

Image blurring

Arithmetic Operations like Addition, Subtraction, and Bitwise Operations(AND, OR, NOT, XOR) can be applied to the input images. These operations can be helpful in enhancing the properties of the input images. Image arithmetics are important for analyzing the input image properties. The operated images can be further used as an enhanced input image, and many more operations can be applied for clarifying, thresholding, dilating, etc of the image....

Bilateral Filtering

...

Image Contours

...

Erosion and Dilation

Bitwise operations are used in image manipulation and used for extracting essential parts in the image. Bitwise operations used are :...

Feature Matching

...

Drawing on Images

...

Example: Python OpenCV Draw on Image

...

Face Recognition

...