OpenCV多尺度图像增强算法函数BIMEF()

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

算法描述

OpenCV 中 intensity_transform 模块提供的一个用于图像增强的函数,全称为:

复制代码
"Brightness Increasing with salient features and Contrast Enhancement" (BIMEF)

这是一个经典的多尺度图像增强算法,主要用于改善暗光图像的亮度与对比度,同时保留图像中的显著特征(如边缘、纹理等)。

BIMEF 是由 K.-K. Ma 和 Xiao Fu 等人提出的一种适用于低光照图像增强的方法,其核心思想是:

  • 提升图像亮度
  • 增强图像对比度
  • 保留显著特征(如边缘、纹理)

该方法结合了物理模型与图像统计特性,使用一个基于 Retinex 理论的多尺度增强策略。

函数原型

cpp 复制代码
void cv::intensity_transform::BIMEF 	
(
 	InputArray  	input,
	OutputArray  	output,
	float  	mu = 0.5f,
	float  	a = -0.3293f,
	float  	b = 1.1258f 
) 		

参数

  • input:输入彩色图像。
  • output:结果图像。
  • mu:增强比率。
  • a:相机响应函数(CRF)中的 a 参数。
  • b:相机响应函数(CRF)中的 b 参数。

代码示例

cpp 复制代码
#include <opencv2/intensity_transform.hpp>
#include <opencv2/opencv.hpp>

int main()
{
    // 读取图像
    cv::Mat img = cv::imread( "/media/dingxin/data/study/OpenCV/sources/images/Lenna.png" );

    if ( img.empty() )
    {
        std::cerr << "Could not load image!" << std::endl;
        return -1;
    }

    cv::Mat enhanced;

    // 调用 BIMEF 进行图像增强
    cv::intensity_transform::BIMEF( img, enhanced );

    // 显示结果
    cv::imshow( "Original", img );
    cv::imshow( "Enhanced (BIMEF)", enhanced );
    cv::waitKey( 0 );

    return 0;
}

运行结果

相关推荐
艾醒32 分钟前
huggingface入门:如何使用国内镜像下载huggingface中的模型
算法
艾醒42 分钟前
huggingface入门:Tokenizer 核心参数与实战指南
算法
啊我不会诶1 小时前
【图论】拓扑排序
算法·深度优先·图论
浩浩乎@1 小时前
【openGLES】着色器语言(GLSL)
人工智能·算法·着色器
张同学的IT技术日记2 小时前
【奇妙的数据结构世界】 用经典例题对数组进行全面分析 | C++
算法
智慧地球(AI·Earth)2 小时前
DeepSeek V3.1 横空出世:重新定义大语言模型的边界与可能
人工智能·语言模型·自然语言处理
queenlll2 小时前
Codeforces Round 1043 (Div. 3)
算法
金井PRATHAMA2 小时前
语义普遍性与形式化:构建深层语义理解的统一框架
人工智能·自然语言处理·知识图谱
lucky_lyovo2 小时前
大模型部署
开发语言·人工智能·云计算·lua
摸鱼一级选手2 小时前
十大经典 Java 算法解析与应用
java·算法·排序算法