Opencv中的直方图(4)局部直方图均衡技术函数createCLAHE()的使用
- 操作系统:ubuntu22.04
- OpenCV版本:OpenCV4.9
- IDE:Visual Studio Code
- 编程语言:C++11
算法描述
创建一个指向 cv::CLAHE 类的智能指针并初始化它。
函数原型
Ptr<CLAHE> cv::createCLAHE
(
double clipLimit = 40.0,
Size tileGridSize = Size(8, 8)
)
参数
- 参数clipLimit 对比度限制的阈值。
- 参数tileGridSize 用于直方图均衡化的网格大小。输入图像将被划分为大小相等的矩形瓷砖。tileGridSize 定义了行和列中的瓷砖数量。
代码示例
#include <opencv2/opencv.hpp>
#include <iostream>
int main() {
// 加载图像
cv::Mat image = cv::imread("/media/dingxin/data/study/OpenCV/sources/images/qiu.jpg", cv::IMREAD_GRAYSCALE);
if (image.empty()) {
std::cerr << "Error: Image not found or unable to read." << std::endl;
return -1;
}
// 创建并初始化 CLAHE 对象
cv::Ptr<cv::CLAHE> clahe = cv::createCLAHE(2.0, cv::Size(8, 8));
// 应用 CLAHE
cv::Mat clahe_image;
clahe->apply(image, clahe_image);
// 显示原图和增强后的图像
cv::namedWindow("Original Image", cv::WINDOW_NORMAL);
cv::imshow("Original Image", image);
cv::namedWindow("CLAHE Image", cv::WINDOW_NORMAL);
cv::imshow("CLAHE Image", clahe_image);
cv::waitKey(0);
return 0;
}