Convert Images to Grayscale

Grayscale is a form of black and white image that is created using only one color. It is the most basic form of image representation. With the help of OpenCV, we can easily convert any normal image to a Grayscale image easily. In this tutorial, we will explore the methods used for generating grayscale images using OpenCV. 

What is Grayscale image representation?

Grayscale images are represented using a single channel. In Grayscale images, each pixel is represented by a single 8-bit number, which ranges from 0 (black) to 255 (white). This number represents the intensity of the pixel in the image, with 0 being completely black and 255 being completely white. The intensity value is determined by the amount of light in the original image.

What is cvtColour() in OpenCV?

The cvtColor() function is used to convert an image from one color to another. This function takes two parameters: the source image and the target color representation. To convert a color image to grayscale, we can specify the target color representation as GRAY. The cvtColor() function will then convert the image from color to grayscale.

Let's understand the concept with some practical work.




import cv2
img = cv2.imread('demo.png')  
image = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
cv2.imshow('Grayscale Image', image)

Here, first we imported cv2. then we used cv2.imread to read the image of the given path. Then we used cv2.cvtColor function with COLOR_BGR2GRAY parameter. At last, we used cv2.imshow function to display the image.