数字图像处理—4直方图的显示及均衡化

4.1        灰度直方图的显示

  灰度直方图是图像灰度级分布的函数,是对灰度分布的统计。灰度直方图将图像中所有像素点按照其灰度级的大小,统计每个值出现的频率。

  我们需了解以下函数:

cv2.calcHist函数用于计算图像的直方图。其中参数含义如下:

[img]:代表要计算直方图的图像。

[0]:这是一个表示要计算直方图的通道索引的列表。对于灰度图像,只有一个通道,所以索引为 0;对于彩色图像,通常有三个通道(RGB),索引为 0(蓝色通道)、1(绿色通道)和 2(红色通道)。这里指定 [0] 表示计算图像的第一个通道(在灰度图像中就是唯一的通道)的直方图。

None:这个参数是可选的掩码图像。传入 None,表示使用整个图像来计算直方图。  

[256]:这是一个表示直方图的尺寸的列表。对于 8 位图像,灰度级别范围是 0 - 255,共 256 个级别,所以这里指定 [256] 表示将直方图分为 256 个区间,每个区间对应一个灰度级别。

[0, 255]:这是一个表示直方图的取值范围的列表。这里指定 [0, 255] 表示计算灰度级别从 0 到 255 的像素数量分布。

代码及运行结果如图2.25所示。

图2.25
图2.25

4.2        直方图均衡化

  直方图增强主要是针对图像的像素值分布过于集中,从而导致图像对比度降低,清晰度不高的情况。因此在实验时先对图像进行灰度值压缩,然后利用直方图均衡化的方法实现图像增强。

  基于前面的学习,我们可以知道:

img_h = cv2.add(img, 150):该句代码用于给图像提亮。

img_l = cv2.multiply(img, 0.2):该句代码用于使图像变暗。

以及cv2.calcHist函数用于计算图像的直方图。

  同时,我们需要了解以下函数:

cv2.equalizeHist函数用于对图像进行直方图均衡化。它会对图像进行处理,通过重新分布图像的像素值,使得图像的灰度分布更加均匀,从而增强图像的对比度。

代码及运行结果如图3.26所示。

图3.26
图3.26
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值