opencv 提高图像对比度
时间: 2023-06-30 07:24:58 浏览: 164
要提高图像对比度,可以使用 OpenCV 的 equalizeHist 函数。该函数将直方图均衡化应用于灰度图像,从而增加图像的对比度。以下是一个示例代码:
```python
import cv2
# 读取图像
img = cv2.imread('image.jpg', 0)
# 应用直方图均衡化
img_eq = cv2.equalizeHist(img)
# 显示原始图像和增强后的图像
cv2.imshow('Original Image', img)
cv2.imshow('Enhanced Image', img_eq)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
在上面的代码中,cv2.imread 函数用于读取图像,第二个参数为 0 表示将图像读取为灰度图像。然后,将 img 传递给 equalizeHist 函数,生成一个增强后的图像 img_eq。最后,使用 cv2.imshow 函数显示原始图像和增强后的图像。
相关问题
opencv调图像对比度
如何调整?
可以使用 cv2.convertScaleAbs() 函数来调整图像的对比度,具体操作如下:
1. 读入图像并将其转为灰度图像。
2. 计算图像的平均灰度值。
3. 使用公式:new_pixel_value = (pixel_value - mean_gray_value) * contrast_factor + mean_gray_value 来计算每个像素点的新值。
4. 将新的像素值转为无符号8位整数类型,并将其存储在新的图像矩阵中。
其中,contrast_factor 是对比度调整参数。值越大,对比度越高,值越小,对比度越低。
示例代码如下:
import cv2
import numpy as np
# 读入图像并将其转为灰度图像
img = cv2.imread('test.jpg')
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# 计算图像的平均灰度值
mean_gray = np.mean(gray)
# 设置对比度调整参数
contrast_factor = 1.5
# 计算每个像素点的新值
new_gray = cv2.convertScaleAbs(gray, alpha=contrast_factor, beta=-contrast_factor*mean_gray+255)
# 显示原图和调整后的图像
cv2.imshow('Original', gray)
cv2.imshow('Adjusted', new_gray)
cv2.waitKey(0)
cv2.destroyAllWindows()
c++opencv提升图像对比度
要提升图像对比度,可以使用以下步骤:
1. 读取图像并将其转换为灰度图像:
```c++
Mat img = imread("image.jpg");
Mat gray;
cvtColor(img, gray, COLOR_BGR2GRAY);
```
2. 计算图像的直方图均衡化:
```c++
Mat hist_equalized;
equalizeHist(gray, hist_equalized);
```
3. 将均衡化后的图像与原始图像进行比较,选择较好的图像:
```c++
Mat result;
double alpha = 1.5; // 提升对比度的参数
addWeighted(gray, alpha, hist_equalized, 1 - alpha, 0, result);
```
其中,alpha是提升对比度的参数,可以根据需要进行调整。最后将结果保存:
```c++
imwrite("result.jpg", result);
```
完整代码如下:
```c++
#include <opencv2/opencv.hpp>
using namespace cv;
int main()
{
Mat img = imread("image.jpg");
Mat gray;
cvtColor(img, gray, COLOR_BGR2GRAY);
Mat hist_equalized;
equalizeHist(gray, hist_equalized);
Mat result;
double alpha = 1.5; // 提升对比度的参数
addWeighted(gray, alpha, hist_equalized, 1 - alpha, 0, result);
imwrite("result.jpg", result);
return 0;
}
```
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)