opencvgamma校正(opencv调试)
## OpenCV中的Gamma校正### 简介Gamma校正是一种图像处理技术,用于调整图像的亮度和对比度。它通过非线性地改变像素值来实现,从而使图像更接近人眼的感知。在数字图像处理中,Gamma校正常用于以下场景:
提高暗图像的亮度,使细节更清晰
降低亮图像的亮度,避免过曝
调整图像的对比度,使其更符合人眼的视觉习惯### OpenCV中的Gamma校正函数OpenCV提供了一个名为`cv2.pow`的函数,用于实现Gamma校正。该函数接受两个参数:
`src`: 输入图像,类型为NumPy数组
`gamma`: Gamma值,类型为浮点数该函数返回一个新的NumPy数组,表示经过Gamma校正后的图像。### Gamma值的含义Gamma值是一个非负数,它控制着校正的强度。
Gamma值小于1:使图像更亮,提高对比度。
Gamma值等于1:不进行任何校正。
Gamma值大于1:使图像更暗,降低对比度。### 代码示例```python import cv2 import numpy as np# 加载图像 img = cv2.imread("image.jpg")# 设置Gamma值 gamma = 1.5# 进行Gamma校正 lookUpTable = np.empty((1,256), np.uint8) for i in range(256):lookUpTable[0,i] = np.clip(pow(i / 255.0, gamma)
255.0, 0, 255) res = cv2.LUT(img, lookUpTable)# 显示结果 cv2.imshow("Original Image", img) cv2.imshow("Gamma Corrected Image", res) cv2.waitKey(0) cv2.destroyAllWindows() ```这段代码首先加载一张图像,然后设置Gamma值为1.5。接着,它使用`cv2.LUT`函数根据Gamma值创建一个查找表,并将其应用于原始图像,得到Gamma校正后的图像。最后,它将原始图像和校正后的图像分别显示出来。### 总结OpenCV中的Gamma校正是一种简单而有效的图像处理技术,可以用来调整图像的亮度和对比度。通过设置不同的Gamma值,可以实现不同的校正效果。
OpenCV中的Gamma校正
简介Gamma校正是一种图像处理技术,用于调整图像的亮度和对比度。它通过非线性地改变像素值来实现,从而使图像更接近人眼的感知。在数字图像处理中,Gamma校正常用于以下场景:* 提高暗图像的亮度,使细节更清晰 * 降低亮图像的亮度,避免过曝 * 调整图像的对比度,使其更符合人眼的视觉习惯
OpenCV中的Gamma校正函数OpenCV提供了一个名为`cv2.pow`的函数,用于实现Gamma校正。该函数接受两个参数:* `src`: 输入图像,类型为NumPy数组 * `gamma`: Gamma值,类型为浮点数该函数返回一个新的NumPy数组,表示经过Gamma校正后的图像。
Gamma值的含义Gamma值是一个非负数,它控制着校正的强度。* Gamma值小于1:使图像更亮,提高对比度。 * Gamma值等于1:不进行任何校正。 * Gamma值大于1:使图像更暗,降低对比度。
代码示例```python import cv2 import numpy as np
加载图像 img = cv2.imread("image.jpg")
设置Gamma值 gamma = 1.5
进行Gamma校正 lookUpTable = np.empty((1,256), np.uint8) for i in range(256):lookUpTable[0,i] = np.clip(pow(i / 255.0, gamma) * 255.0, 0, 255) res = cv2.LUT(img, lookUpTable)
显示结果 cv2.imshow("Original Image", img) cv2.imshow("Gamma Corrected Image", res) cv2.waitKey(0) cv2.destroyAllWindows() ```这段代码首先加载一张图像,然后设置Gamma值为1.5。接着,它使用`cv2.LUT`函数根据Gamma值创建一个查找表,并将其应用于原始图像,得到Gamma校正后的图像。最后,它将原始图像和校正后的图像分别显示出来。
总结OpenCV中的Gamma校正是一种简单而有效的图像处理技术,可以用来调整图像的亮度和对比度。通过设置不同的Gamma值,可以实现不同的校正效果。