实现图像增强的直方图均衡 c语言 opencv
时间: 2023-05-31 13:02:08 浏览: 111
这里提供一个简单的实现直方图均衡的C++代码,利用OpenCV库实现。
```c++
#include <opencv2/opencv.hpp>
#include <iostream>
using namespace std;
using namespace cv;
int main()
{
Mat img = imread("lena.jpg", IMREAD_GRAYSCALE); //读取灰度图像
if (img.empty())
{
cout << "Could not read the image: " << endl;
return 1;
}
Mat hist_eq;
equalizeHist(img, hist_eq); //直方图均衡化
namedWindow("Original Image", WINDOW_NORMAL);
imshow("Original Image", img);
namedWindow("Equalized Image", WINDOW_NORMAL);
imshow("Equalized Image", hist_eq);
waitKey(0);
return 0;
}
```
以上代码中,首先读入灰度图像,然后使用`equalizeHist`函数实现直方图均衡化。最后,将原始图像和均衡化后的图像分别显示出来。
需要注意的是,该代码中使用了OpenCV库中的`imread`、`Mat`、`equalizeHist`、`namedWindow`和`imshow`等函数,需要先安装OpenCV库并将其头文件和库文件链接到项目中。
阅读全文