opencv对比度怎么改变
时间: 2023-05-11 10:04:26 浏览: 113
要改变 OpenCV 中图像的对比度,可以使用 cv2.convertScaleAbs() 函数。该函数可以将图像的像素值缩放到指定的范围内,从而改变图像的对比度。
以下是一个示例代码,可以将图像的对比度增加 50%:
```python
import cv2
img = cv2.imread('image.jpg')
alpha = 1.5 # 对比度增加 50%
beta = 0 # 亮度不变
new_img = cv2.convertScaleAbs(img, alpha=alpha, beta=beta)
cv2.imshow('Original Image', img)
cv2.imshow('New Image', new_img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
在上面的代码中,我们使用了 cv2.convertScaleAbs() 函数来对图像进行缩放。其中,alpha 参数表示缩放的比例,beta 参数表示亮度的偏移量。在本例中,我们将 alpha 设置为 1.5,表示将图像的像素值增加 50%。beta 设置为 0,表示不改变图像的亮度。
运行上面的代码,可以看到原始图像和新图像的对比度有明显的差别。
相关问题
python opencv 对比度
要调整图像的对比度,可以使用OpenCV中的cv2.convertScaleAbs()函数。这个函数可以将图像的像素值线性缩放到指定的范围内,从而调整图像的对比度。具体的步骤如下:
1. 首先,导入OpenCV库并读取图像。
2. 对图像进行灰度化处理,以便后续处理。
3. 使用cv2.convertScaleAbs()函数来调整图像的对比度。这个函数接受三个参数:输入图像、缩放因子和平移因子。缩放因子用于控制对比度的变化,较大的值会增加对比度,较小的值会减小对比度;平移因子用于平移像素值的范围,可以通过调整这两个参数来实现对比度的调整。
4. 最后,显示调整后的图像。
参考资料:
https://stackoverflow.com/questions/10549245/how-can-i-adjust-contrast-in-opencv-in-c
https://blog.csdn.net/laoyuanpython/category_9979286.html
https://blog.csdn.net/laoyuanpython/category_10581071.html<span class="em">1</span><span class="em">2</span><span class="em">3</span>
opencv对比度函数
OpenCV中可以使用convertTo函数来改变图像的对比度,其函数原型如下:
```c++
void cv::Mat::convertTo(
OutputArray dst, // 输出图像
int rtype, // 输出图像的数据类型,一般与原始图像相同
double alpha = 1, // 线性变换的乘数
double beta = 0 // 线性变换的偏移量
) const;
```
其中,alpha表示线性变换的乘数(默认为1),beta表示线性变换的偏移量(默认为0)。可以通过调整alpha和beta来改变图像的对比度。当alpha大于1时,图像的对比度增强;当alpha小于1时,图像的对比度减弱。
示例代码:
```c++
cv::Mat src = cv::imread("test.jpg");
cv::Mat dst;
src.convertTo(dst, -1, 1.5, 0); // 增强对比度
cv::imshow("src", src);
cv::imshow("dst", dst);
cv::waitKey();
```
注意:convertTo函数只是对图像进行线性变换,因此如果图像的像素值已经达到了最大值或最小值,再进行线性变换也无法改变其对比度。
阅读全文
相关推荐













