简介
在本教程中,我们将向你展示多种方法,通过使用不同的库,如Skimage、Pillow和OpenCV,你可以在Python中将任何图像转换为灰阶。每种方法都将以实例的形式展示,以便于理解。
在Python中把图像转换为灰度的不同方法
输入图像
对于所有的例子,下面的狗图像将被用作输入。
1.用Skimage(Scikit Image)进行图像灰度转换 - color.rgb2gray()
Scikit Image或Skimage是一个基于Python的开放源码包,用于各种图像处理算法。任何彩色图像都可以在Skimage的color.rgb2gray()函数的帮助下转换为灰度。
在下面的例子中,用io.imread()读取图像,然后用color.rgb2gray()将其转换成灰度,最后用io.imshow()显示。
In[0]:
from skimage import color
from skimage import io
img = io.imread('dog.jpg')
imgGray = color.rgb2gray(img)
io.imshow(imgGray)
Out[0]:
<matplotlib.image.AxesImage at 0x7f4161961c90>。
2.用Pillow(PIL)进行图像灰度转换 - convert()
Pillow是Python的另一个图像处理库,可以用其img.convert()函数将图像转换成灰度。
在这个例子中,用Image.open()读取图像,然后通过传递'L'作为参数,用convert()进行转换。L "参数用于将图像转换为灰度。
In [1]:
from PIL import Image
img = Image.open('dog.jpg')
imgGray = img.convert('L')
imgGray.show()
输出[1]。
3.用OpenCV进行图像灰度转换 - cv2.imread()
OpenCV是目前最流行的图像处理包,有几种方法可以将图像转换为灰度。在这第一种方法中,在使用cv2.imread()读取图像时,可以通过将标志值与图像文件名一起传递为0来将图像改为灰度。
In[2]:
import cv2
输出[2]。
4.用OpenCV转换图像灰度--cv2.cvtColor()
在下一个技术中,图像可以在OpenCV模块的cv2.cvtColor()的帮助下变成灰度,该模块用于改变色彩空间。
这个函数用于灰度的参数是COLOR_BGR2GRAY,我们可以在下面的例子中看到。
In[3]:
import cv2
Out[3]:
The post4 Ways to Convert Image to Grayscale in Python using Skimage, Pillow and OpenCVappeared first onMLK - Machine Learning Knowledge.