【RGB色彩空间】:
RGB色彩空间的基础是对色光三原色(红、绿、蓝)的应用。选用这三种颜色作为三原色,是因为将它们组合之后可以产生色域很宽的各种颜色,与人类视觉系统对应。
%matplotlib inline
import matplotlib.pyplot as plt
import numpy as np
import imageio
from _utils import *
img_RGB = imageio.imread('../_data/woman01.png')
histogram(img_RGB, bins=2**8)
【灰度图像】:
灰度图像上每个像素的颜色值又称为灰度,指黑白图像中点的颜色深度,范围一般从0到255,白色为255,黑色为0。灰度值是指色彩的浓淡程度。
图像灰度化处理可以作为图像处理的预处理步骤,为之后的图像分割、图像识别和图像分析等上层操作做准备。通常来说图像灰度化有以下几种计算方式,以下分别进行展开描述:
【算术平均】 即将彩色图像中的三分量的亮度求平均得到一个灰度值
img_GS01 = np.sum(img_RGB, axis=2)/3
img_GS01 = img_GS01.astype(int)
histogram(img_GS01, bins=2**8)
【几何平均】 即将彩色图像中三分量的几何平均值作为灰度值
img_GS02 = np.prod(img_RGB, axis=2)**(1/3)
img_GS02 = img_GS02.astype(int)
histogram(img_GS02, bins=2**8)
【调和平均数】 即将彩色图像中三分量的调和平均值作为灰度值
img_GS03 = 3/np.sum(1/img_RGB, axis=2)
img_GS03 = img_GS03.astype(int)
histogram(img_GS03, bins=2**8)
【最小值】 即将彩色图像中最小值作为灰度值
RGB_min = np.amin(img_RGB, axis=2)
RGB_min = RGB_min.astype(int)
histogram(RGB_min, bins=2**8)
【最大值】 即将彩色图像中最大值作为灰度值
RGB_max = np.amax(img_RGB, axis=2)
RGB_max = RGB_max.astype(int)
histogram(RGB_max, bins=2**8)
【最大最小均值】 即将彩色图像中最大最小值的均值作为灰度值
img_GS05 = (RGB_max + RGB_min)/2
img_GS05 = img_GS05.astype(int)
histogram(img_GS05, bins=2**8)
【中值】 即将彩色图像中三通道的中值作为灰度值
img_GS06 = np.median(img_RGB, axis=2)
img_GS06 = img_GS06.astype(int)
histogram(img_GS06, bins=2**8)
【加权平均】即将彩色图像中三通道加权后的值作为灰度值
img_GS07 = np.multiply([0.2989, 0.5870, 0.1140], img_RGB)
img_GS07 = np.sum(img_GS07, axis=2)
img_GS07 = img_GS07.astype(int)
histogram(img_GS07, bins=2**8
关注公众号《AI算法之道》,获取更多AI算法资讯