Using ‘cvtColor’ method, we can convert the color space of an image.
Signature
dstImage = cv2.cvtColor(srcImage, code[, dst[, dstCn]])
Example
grayscale_image = cv.cvtColor(image, cv.COLOR_BGR2GRAY)
Following table summarizes the parameters of cvtColor method.
Parameter |
Description |
src |
Source image that you want to convert to. |
code |
Specifies the destination image color code.
Ex: cv2.COLOR_BGR2GRAY |
dst |
It is an optional parameter, where the converted image will be stored. |
dstCn |
Specifies the number of channels in the destination image. For example, RGB color space has 3 channels, HSV color space has three channels: one for hue, one for saturation, and one for value. |
What is color space?
Color space is a way of representing the colors in a digital space. For example, RGB (Red, Green, Blue) is the most common used color space. Each color space has its own set of rules and coordinates to represent the colors.
Following are some mostly used color spaces.
1. RGB: This color space represent the colors by mixing various intensities of red, green, and blue channels.
2. Grayscale: It represents images in shades of gray (from black to white.) rather than color. Each pixel in a grayscale image is represented by a single value, which represents the brightness of the pixel. Gray scale images are used where color information is not needed.
3. HSV (Hue, Saturation, Value): Hue represents the type of color (e.g., red, blue, green), Saturation represents the intensity or purity of the color, and Value represents the brightness or lightness of the color.
Following example convert the BGR color image to Grayscale image.
to_grayscale.py
import cv2 as cv
def resize_frame(frame, scale_width=0.5, scale_height=0.5):
width = int(frame.shape[1] * scale_width)
height = int(frame.shape[0] * scale_height)
new_dimensions = (width, height)
return cv.resize(frame, new_dimensions, interpolation=cv.INTER_AREA)
image = cv.imread('taj.jpeg')
cv.imshow('BGR image', resize_frame(image, 0.5, 0.5))
grayscale_image = cv.cvtColor(image, cv.COLOR_BGR2GRAY)
cv.imshow('Gray scale image', resize_frame(grayscale_image, 0.5, 0.5))
cv.waitKey(0)
# Close the OpenCV windows
cv.destroyAllWindows()
Output
Simple RGB image
Grayscale version of the same image.
Previous Next Home
No comments:
Post a Comment