代码实现图像光照增强
时间: 2023-08-20 08:05:56 浏览: 248
图像光照增强是一种常见的图像处理技术,可以提高图像的亮度和对比度,使图像更加清晰、鲜明。下面是一份 Python 代码实现图像光照增强的示例:
import cv2
import numpy as np
def adjust_gamma(image, gamma=1.0):
# 将输入图像的像素值进行伽马变换,增强图像的亮度和对比度
invGamma = 1.0 / gamma
table = np.array([((i / 255.0) ** invGamma) * 255
for i in np.arange(0, 256)]).astype("uint8")
return cv2.LUT(image, table)
def histeq(image):
# 对输入图像进行直方图均衡化,增强图像的对比度
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
equ = cv2.equalizeHist(gray)
return cv2.merge((equ,equ,equ))
def enhance_image(image, gamma=1.0):
# 将输入图像进行光照增强
image = adjust_gamma(image, gamma=gamma)
image = histeq(image)
return image
# 加载图像
image = cv2.imread('test.jpg')
# 光照增强
enhanced_image = enhance_image(image, gamma=1.5)
# 显示原图和增强后的图像
cv2.imshow('Original Image', image)
cv2.imshow('Enhanced Image', enhanced_image)
cv2.waitKey(0)
cv2.destroyAllWindows()
上述代码中,adjust_gamma()
函数通过伽马变换来增强图像的亮度和对比度,histeq()
函数通过直方图均衡化来增强图像的对比度,enhance_image()
函数将两种方法结合起来实现了图像的光照增强。最后,我们使用 OpenCV 的 imread()
函数加载图像,将其传入 enhance_image()
函数进行光照增强,并使用 imshow()
函数显示原图和增强后的图像。
相关推荐

















