图像处理基础 || 提取彩色图像中的灰度图像

发布于:2022-11-06 ⋅ 阅读:(508) ⋅ 点赞:(0)

提取彩色图像中的灰度图像


由于图像处理中的诸多技术如卷积、傅立叶变换、特征值分解等操作均是针对灰度图像,所以如何将彩色图像转化为灰度图像是常用的基本操作。在python中使用不同的库进行此操作的方式也不相同,本部分内容旨在整理出常用的图像处理库中的此类操作。

1. 利用scikit-image将彩色图像转化成灰度图像

from skimage.io import imread
from skimage.color import rgb2gray
import matplotlib.pylab as plt

im = imread("images/parrot.png")
im_g = rgb2gray(im)
#print(im.shape)

plt.figure(figsize=(10,10))
plt.subplot(121)
plt.imshow(im, cmap='gray')
plt.axis('off')
plt.subplot(122)
plt.imshow(im_g, cmap='gray')
plt.axis('off')
plt.show()

在这里插入图片描述

2. 利用 Pillow 库完成彩色图像中灰度图像的逐层提取

from PIL import Image
import matplotlib.pyplot as plt

image = Image.open('images/parrot.png') #open image
r, g, b = image.split()

plt.figure(figsize=(10,8))
plt.subplot(2,2,1), plt.imshow(image),plt.axis('off'),plt.title('Origin')
plt.subplot(2,2,2), plt.imshow(r,cmap='gray'),plt.axis('off'),plt.title('R Channel')
plt.subplot(2,2,3), plt.imshow(g,cmap='gray'),plt.axis('off'),plt.title('G Channel')
plt.subplot(2,2,4), plt.imshow(b,cmap='gray'),plt.axis('off'),plt.title('B Channel')
plt.show()

在这里插入图片描述

3. 利用 Pillow 库完成彩色图像到灰度图像的转变

from PIL import Image
import matplotlib.pyplot as plt

image = Image.open('images/parrot.png') #open image
imgage_g = image.convert('L')

plt.figure(figsize=(10,8))
plt.subplot(1,2,1), plt.imshow(image),plt.axis('off'),plt.title('Origin')
plt.subplot(1,2,2), plt.imshow(r,cmap='gray'),plt.axis('off'),plt.title('gray image')
plt.show()

在这里插入图片描述

4. 利用 matplotlib 库将彩色图像转化为灰度图像

import matplotlib.pylab as plt
import matplotlib.image as mpimg

im = mpimg.imread("images/parrot.png")
im_g = im[:,:,0]

plt.figure(figsize=(10,8))
plt.subplot(1,2,1), plt.imshow(im),plt.axis('off'),plt.title('Origin')
plt.subplot(1,2,2), plt.imshow(im_g,cmap='gray'),plt.axis('off'),plt.title('gray image')
plt.show()

在这里插入图片描述


网站公告

今日签到

点亮在社区的每一天
去签到