多语言展示
当前在线:1909今日阅读:84今日分享:32

用python分离彩色图片的颜色

以前,我成功的用mathematica把RGB图片的色彩进行了分离。这里所说的色彩分离,并不是把图片分离为灰度图,而是把某个通道的像素值全部置零,这样就能够单独显示剩下的颜色。本文,用python实现这个效果。
工具/原料
1

电脑

2

python3.0+

方法/步骤
1

用opencv模块读取图片数据:import cv2from numpy import *a = cv2.imread('a.jpg')print(a)得到一个三维矩阵。

2

查看图片的大小:b = a.shape

3

用numpy模块构造一个二维0矩阵,规模和图像的大小一样:c = zeros(list(b[:2]))

4

把图片的第一个通道的像素值置零,就相当于去掉了图片的蓝色:a[:,:,0] = c

5

如果想单独分离出绿色,还需要把第三个通道的像素值置零:a[:,:,0] = ca[:,:,2] = c

6

单独显示红色:a[:,:,0] = ca[:,:,1] = c

7

去掉红色:a[:,:,2] = c

8

其实,不构造零矩阵也是可以的,这样就不用调用numpy模块了。

注意事项

以前没成功,可能是某些细节没注意到。

推荐信息