欢迎访问宙启技术站
智能推送

图像亮度调整技巧:使用skimage.exposurerescale_intensity()函数优化图像

发布时间:2023-12-11 05:39:20

图像亮度调整是图像处理中常用的技术之一,它可以改变图像的亮度级别,使图像变得更明亮或更暗。在Python中,可以使用scikit-image库中的exposure模块来进行图像亮度调整。其中的rescale_intensity()函数可以根据给定的输入图像和目标范围将图像亮度进行线性拉伸,从而改变图像的亮度。

首先,我们需要安装scikit-image库。可以使用以下命令来安装:

pip install scikit-image

接下来,我们可以导入需要的库和函数:

import numpy as np
import matplotlib.pyplot as plt
from skimage import io, exposure

然后,我们选择一张图像作为示例进行亮度调整。这里我们选择使用scikit-image库中自带的相机图像作为示例:

image = io.imread('camera.png')

接下来,我们可以使用rescale_intensity()函数来调整图像的亮度:

adjusted = exposure.rescale_intensity(image, out_range=(0, 1))

在这个例子中,我们将输入图像的像素值范围进行线性拉伸,使其映射到0到1的范围。

最后,我们可以将原始图像和调整后的图像进行比较,并可视化它们:

fig, axes = plt.subplots(nrows=1, ncols=2, figsize=(8, 4))

axes[0].imshow(image, cmap='gray')
axes[0].set_title('Original Image')

axes[1].imshow(adjusted, cmap='gray')
axes[1].set_title('Adjusted Image')

for ax in axes:
    ax.axis('off')

plt.show()

运行完整的代码后,我们可以看到显示了原始图像和亮度调整后的图像,如下图所示:

![亮度调整示例](https://raw.githubusercontent.com/sixs/writing-prompts/main/assets/lightness_adjustment.png)

通过上述步骤,我们可以使用scikit-image库中的exposure.rescale_intensity()函数来进行图像亮度调整,从而优化图像的视觉效果。