以下是Python代码示例:

import cv2
import numpy as np

# 读取图像
img = cv2.imread('input.jpg', cv2.IMREAD_GRAYSCALE)

# 分段线性灰度变化
# 灰度值0-50拉伸
img[img <= 50] = np.interp(img[img <= 50], [0, 50], [0, 255])
# 灰度值50-150压缩
img[(img > 50) & (img <= 150)] = np.interp(img[(img > 50) & (img <= 150)], [50, 150], [50, 200])
# 灰度值150-250压缩
img[img > 150] = np.interp(img[img > 150], [150, 250], [200, 255])

# 显示图像
cv2.imshow('output', img)
cv2.waitKey(0)
cv2.destroyAllWindows()

其中,np.interp()函数用于进行线性插值,将输入灰度值映射到输出灰度值。在本例中,对于灰度值0-50,将其映射到输出灰度值0-255;对于灰度值50-150,将其映射到输出灰度值50-200;对于灰度值150-250,将其映射到输出灰度值200-255。

分段线性灰度变化实现对比度增强原图灰度值0-50拉伸50-150压缩150-250压缩代码示例

原文地址: http://www.cveoy.top/t/topic/bL0Q 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录