In this article we will see how we can convert rgb image to gray in mahotas. An RGB image, sometimes referred to as a truecolor image, is stored in MATLAB as an m-by-n-by-3 data array that defines red, green, and blue color components for each individual pixel.
In this tutorial we will use “lena” image, below is the command to load it.
mahotas.demos.load('lena')
Below is the lena image
In order to do this we will use mahotas.colors.rgb2greymethod
Syntax : mahotas.colors.rgb2gray(img)
Argument :It takes image object as argument
Return : It returns image object
Note : It can convert image to grayscale as using rgb2grey or rgb2gray, both work). This conversion uses a visually realistic method (which weighs the green channel more heavily as human eyes are more sensitive to it)
Below is the implementation
# importing required libraries import mahotas
import mahotas.demos
from pylab import gray, imshow, show
import numpy as np
# loading image img = mahotas.demos.load( 'lena' )
# showing image print ( "Image" )
imshow(img) show() # rgb to gray new_img = mahotas.colors.rgb2gray(img)
# showing new image print ( "New Image" )
imshow(new_img) show() |
Output :
Image
New Image
Another example
# importing required libraries import mahotas
import numpy as np
import matplotlib.pyplot as plt
import os
# loading image img = mahotas.imread( 'dog_image.png' )
# filtering image img = img[:, :, : 3 ]
# showing image print ( "Image" )
imshow(img) show() # rgb to gray new_img = mahotas.colors.rgb2gray(img)
# showing new image print ( "New Image" )
imshow(new_img) show() |
Output :
Image
New Image