Python OpenCV 指数拉伸算法实现图像增强
以下是 Python OpenCV 实现指数拉伸的代码:
import cv2
import numpy as np
# 定义指数拉伸变换函数
def exp_transform(x, c):
y = np.exp(c * x)
return (y - 1) / (np.exp(c) - 1)
# 读取图像
img = cv2.imread('image.jpg', cv2.IMREAD_GRAYSCALE)
# 对灰度值在[20-50]范围内的像素进行指数拉伸
c = 0.1
img_exp = np.where((img >= 20) & (img <= 50), exp_transform(img, c), img)
# 显示增强后图像
cv2.imshow('enhanced image', img_exp)
cv2.waitKey(0)
cv2.destroyAllWindows()
在上述代码中,我们首先定义了一个指数拉伸变换函数exp_transform,其中x表示输入像素值,c表示指数拉伸系数。接着,我们读取了一幅灰度图像,并使用np.where函数对灰度值在[20-50]范围内的像素进行指数拉伸,其他像素不做任何变换。最后,使用cv2.imshow函数显示增强后的图像。
原文地址: https://www.cveoy.top/t/topic/nqcO 著作权归作者所有。请勿转载和采集!