一、编程环境:
OpenCV | 4.1.0 |
IDE | Visual Studio 2017 Enterprise (15.9.13) |
操作系统 | Windows 10 x64 中文专业版 (1903) |
二、多通道图像直方图均衡:
对多通道图像(彩色图)进行直方图均衡:先分离所有通道,对每个通道直方图均衡,再把所有通道合并,就得到多通道图像的直方图均衡效果了。
三、示例代码:
#include <opencv2/opencv.hpp>
#include <iostream>
using namespace cv;
using namespace std;
int main(int argc, char** argv) {
Mat src = imread("../images/test.png");
if (src.empty()) {
printf("不能加载图像!\n");
return -1;
}
namedWindow("1--原图", WINDOW_AUTOSIZE);
imshow("1--原图", src);
if (src.channels() >= 3)
{
//RGB分别均衡
Mat channels[3];
split(src, channels);
for (int i = 0; i < 3; i++)
{
equalizeHist(channels[i], channels[i]);
}
Mat dst;
merge(channels, 3, dst);
namedWindow("2--直方图均衡", WINDOW_AUTOSIZE);
imshow("2--直方图均衡", dst);
}
waitKey(0);
return 0;
}