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

运行结果

相关推荐
Yzzz-F3 分钟前
牛客小白月赛127 E
算法
空中楼阁,梦幻泡影6 分钟前
LoRA 详细解析,使用LoRA 方式对模型进行微调详细操作指南
运维·服务器·人工智能·机器学习·语言模型
大锦终6 分钟前
递归回溯综合练习
c++·算法·深度优先
AI即插即用12 分钟前
即插即用系列(代码实践)专栏介绍
开发语言·人工智能·深度学习·计算机视觉
Keep__Fighting16 分钟前
【神经网络的训练策略选取】
人工智能·深度学习·神经网络·算法
晚风吹长发26 分钟前
初步了解Linux中的动静态库及其制作和使用
linux·运维·服务器·数据结构·c++·后端·算法
sin_hielo27 分钟前
leetcode 3453(二分法)
算法
抠头专注python环境配置44 分钟前
解决Windows安装PythonOCC报错:从“No module named ‘OCC’ ”到一键成功
人工智能·windows·python·3d·cad·pythonocc
2501_9413220344 分钟前
计算机视觉实现火灾与烟雾实时监测系统
人工智能·计算机视觉
xiaobaishuoAI1 小时前
分布式事务实战(Seata 版):解决分布式系统数据一致性问题(含代码教学)
大数据·人工智能·分布式·深度学习·wpf·geo