Opencv中的直方图(4)局部直方图均衡技术函数createCLAHE()的使用

  • 操作系统:ubuntu22.04
  • OpenCV版本:OpenCV4.9
  • IDE:Visual Studio Code
  • 编程语言:C++11

算法描述

创建一个指向 cv::CLAHE 类的智能指针并初始化它。

函数原型

cpp 复制代码
Ptr<CLAHE> cv::createCLAHE
(
	double 	clipLimit = 40.0,
	Size 	tileGridSize = Size(8, 8) 
)		

参数

  • 参数clipLimit 对比度限制的阈值。
  • 参数tileGridSize 用于直方图均衡化的网格大小。输入图像将被划分为大小相等的矩形瓷砖。tileGridSize 定义了行和列中的瓷砖数量。

代码示例

cpp 复制代码
#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;
}

运行结果

相关推荐
CoovallyAIHub8 分钟前
破局红外小目标检测:异常感知Anomaly-Aware YOLO以“俭”驭“繁”
深度学习·算法·计算机视觉
mqiqe10 分钟前
【Spring AI MCP】六、SpringAI MCP 服务端 STDIO & SSE
java·人工智能·spring
飞哥数智坊19 分钟前
两天一首歌,这个UP主是怎么做到的?
人工智能·aigc
草莓熊Lotso32 分钟前
红黑树从入门到进阶:4 条规则如何筑牢 O (logN) 效率根基?
服务器·开发语言·c++·人工智能·经验分享·笔记·后端
IT_陈寒1 小时前
Python 3.12新特性解析:10个让你代码效率提升30%的实用技巧
前端·人工智能·后端
澜舟孟子开源社区1 小时前
开源技术驱动与架构创新:AI领域的破局之道
人工智能·agi
Baihai_IDP1 小时前
上下文管理策略综述
人工智能·llm
aneasystone本尊1 小时前
学习 LiteLLM 的路由和回退策略
人工智能
Mrliu__1 小时前
Opencv(十六) : 图像边缘检测
人工智能·opencv·计算机视觉