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;
}

运行结果

相关推荐
爱学习的小鱼gogo11 分钟前
pyhton 螺旋矩阵(指针-矩阵-中等)含源码(二十六)
python·算法·矩阵·指针·经验·二维数组·逆序
文火冰糖的硅基工坊15 分钟前
[嵌入式系统-146]:五次工业革命对应的机器人形态的演进、主要功能的演进以及操作系统的演进
前端·网络·人工智能·嵌入式硬件·机器人
猫头虎21 分钟前
openAI发布的AI浏览器:什么是Atlas?(含 ChatGPT 浏览功能)macOS 离线下载安装Atlas完整教程
人工智能·macos·chatgpt·langchain·prompt·aigc·agi
老六哥_AI助理指南26 分钟前
为什么AI会改变单片机的未来?
人工智能·单片机·嵌入式硬件
SEO_juper38 分钟前
2026 AI可见性:构建未来-proof策略的顶级工具
人工智能·搜索引擎·百度·工具·数字营销
sivdead40 分钟前
当前智能体的几种形式
人工智能·后端·agent
AIGC_北苏41 分钟前
大语言模型,一个巨大的矩阵
人工智能·语言模型·矩阵
坚持编程的菜鸟1 小时前
LeetCode每日一题——二进制求和
c语言·算法·leetcode
算家计算1 小时前
DeepSeek-OCR本地部署教程:DeepSeek突破性开创上下文光学压缩,10倍效率重构文本处理范式
人工智能·开源·deepseek
言之。1 小时前
Andrej Karpathy 演讲【PyTorch at Tesla】
人工智能·pytorch·python