【深度好文】图像灰度化计算方式对比

【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算法资讯
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

赵卓不凡

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值