使用Python中的skimage.exposurerescale_intensity()函数对图像进行亮度调整
发布时间:2023-12-11 05:33:57
skimage.exposure.rescale_intensity()函数可以用于调整图像的亮度范围。该函数将输入图像的像素值线性地映射到指定的亮度范围内。
函数的语法如下:
skimage.exposure.rescale_intensity(image, in_range='image', out_range=(0, 1))
参数说明:
- image:输入图像。
- in_range:输入图像的亮度范围。默认值为'image',表示使用输入图像的最小和最大像素值作为范围,也可以指定为一个指定的元组,例如(0, 255)。
- out_range:输出图像的亮度范围。默认值为(0, 1),表示将输入图像的像素值映射到0到1之间,也可以指定为一个指定的元组,例如(0, 255)。
下面是一个使用skimage.exposure.rescale_intensity()函数进行亮度调整的示例代码:
import numpy as np
from skimage import io, exposure
# 读取图像
image = io.imread('image.jpg')
# 将图像像素值从0-255映射到0-1之间
image_rescaled = exposure.rescale_intensity(image)
# 将图像像素值从0-255映射到100-200之间
image_rescaled_range = exposure.rescale_intensity(image, in_range=(0, 255), out_range=(100, 200))
# 显示原始图像和调整后的图像
io.imshow(image)
io.imshow(image_rescaled)
io.imshow(image_rescaled_range)
io.show()
在上述代码中,首先使用io.imread()函数读取一张图像。然后,使用exposure.rescale_intensity()函数将图像的像素值从0-255映射到0-1之间,得到一个亮度增强后的图像image_rescaled。接着,使用exposure.rescale_intensity()函数将图像的像素值从0-255映射到100-200之间,得到一个亮度调整后的图像image_rescaled_range。最后,使用io.imshow()函数显示原始图像、亮度增强后的图像和亮度调整后的图像。
运行上述代码,可以看到显示了原始图像、亮度增强后的图像和亮度调整后的图像。
