opencv equalizeHist
时间: 2024-04-10 08:25:28 浏览: 131
`equalizeHist`是OpenCV中的一个函数,用于直方图均衡化。直方图均衡化是一种用于增强图像对比度的方法,它通过重新分布图像的灰度级来扩展灰度范围。
在OpenCV中,`equalizeHist`函数的原型如下:
```cpp
void equalizeHist(InputArray src, OutputArray dst);
```
其中,`src`是输入图像,可以是单通道灰度图像或者多通道彩色图像。`dst`是输出图像,与输入图像具有相同的尺寸和类型。
使用`equalizeHist`函数可以很方便地对图像进行直方图均衡化。下面是一个示例代码:
```cpp
#include <opencv2/opencv.hpp>
int main()
{
// 读取图像
cv::Mat image = cv::imread("image.jpg", cv::IMREAD_GRAYSCALE);
// 进行直方图均衡化
cv::Mat equalizedImage;
cv::equalizeHist(image, equalizedImage);
// 显示原始图像和均衡化后的图像
cv::imshow("Original Image", image);
cv::imshow("Equalized Image", equalizedImage);
cv::waitKey(0);
return 0;
}
```
在上述示例中,首先使用`imread`函数读取了一张灰度图像,然后调用`equalizeHist`函数对图像进行直方图均衡化,最后使用`imshow`函数显示原始图像和均衡化后的图像。
值得注意的是,`equalizeHist`函数只能处理单通道灰度图像,如果需要对彩色图像进行直方图均衡化,可以将彩色图像分解为各个通道,对每个通道分别进行直方图均衡化,然后再将各个通道合并起来。
阅读全文