用OpenCV提高lena.jpg图像的对比度的代码
时间: 2024-02-07 17:02:38 浏览: 109
下面是使用OpenCV提高lena.jpg图像对比度的代码:
```python
import cv2
# 读取图像
img = cv2.imread('lena.jpg')
# 提高对比度
alpha = 1.5 # 对比度增益
beta = 0 # 对比度偏移量
img_contrast = cv2.convertScaleAbs(img, alpha=alpha, beta=beta)
# 显示图像
cv2.imshow('Original Image', img)
cv2.imshow('Contrast Image', img_contrast)
cv2.waitKey(0)
```
代码中的`alpha`和`beta`分别是对比度增益和对比度偏移量,可以根据实际情况进行调整。`convertScaleAbs`函数可以将图像的像素值缩放到0-255的范围内,并将结果转换为整数类型。
相关问题
visual studio 实现灰度图像对比度增强的程序
下面是一个简单的实现灰度图像对比度增强的示例程序:
```c++
#include <iostream>
#include <opencv2/opencv.hpp>
using namespace std;
using namespace cv;
int main()
{
Mat gray_img = imread("lena.jpg", IMREAD_GRAYSCALE);
if (gray_img.empty())
{
cout << "Failed to load image!" << endl;
return -1;
}
int alpha = 1.5; // 对比度增益
int beta = 0; // 亮度偏移
Mat contrast_img;
gray_img.convertTo(contrast_img, -1, alpha, beta); // 对比度增强
namedWindow("Gray Image", WINDOW_NORMAL);
namedWindow("Contrast Image", WINDOW_NORMAL);
imshow("Gray Image", gray_img);
imshow("Contrast Image", contrast_img);
waitKey(0);
return 0;
}
```
在上面的代码中,我们使用了 OpenCV 库来读取灰度图像。然后,我们定义了一个 alpha 和 beta 变量,它们分别代表对比度增益和亮度偏移。接着,我们使用 `convertTo()` 函数来进行对比度增强。
最后,我们使用 `namedWindow()` 函数创建了两个窗口来显示原始图像和对比度增强后的图像,并使用 `imshow()` 函数来显示图像。最后,我们使用 `waitKey()` 函数等待用户按下任意键,然后关闭窗口并退出程序。
需要注意的是,这只是一个简单的示例程序,实际应用中可能需要更复杂的算法来实现更好的对比度增强效果。
阅读全文