Skip to content
Related Articles

Related Articles

Improve Article
Python | Grayscaling of Images using OpenCV
  • Difficulty Level : Easy
  • Last Updated : 15 Apr, 2019

Grayscaling is the process of converting an image from other color spaces e.g RGB, CMYK, HSV, etc. to shades of gray. It varies between complete black and complete white.

Importance of grayscaling –

  • Dimension reduction: For e.g. In RGB images there are three color channels and has three dimensions while grayscaled images are single dimensional.
  • Reduces model complexity: Consider training neural article on RGB images of 10x10x3 pixel.The input layer will have 300 input nodes. On the other hand, the same neural network will need only 100 input node for grayscaled images.
  • For other algorithms to work: There are many algorithms that are customized to work only on grayscaled images e.g. Canny edge detection function pre-implemented in OpenCV library works on Grayscaled images only.

Below is the code to Grayscale an image-

# importing opencv
import cv2
# Load our input image
image = cv2.imread('C:\\Documents\\full_path\\tomatoes.jpg')
cv2.imshow('Original', image)
# We use cvtColor, to convert to grayscale
gray_image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
cv2.imshow('Grayscale', gray_image)
# window shown waits for any key pressing event

Input image:


Faster code –

# Faster method
import cv2
# The second argument zero specifies that
# image is to be read in grayscale mode.
img = cv2.imread('C:\\Documents\\full_path\\tomatoes.jpg', 0)  
cv2.imshow('Grayscale', img)

 Attention geek! Strengthen your foundations with the Python Programming Foundation Course and learn the basics.  

To begin with, your interview preparations Enhance your Data Structures concepts with the Python DS Course. And to begin with your Machine Learning Journey, join the Machine Learning – Basic Level Course

My Personal Notes arrow_drop_up
Recommended Articles
Page :