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

运行结果

相关推荐
咚咚王者1 天前
人工智能之数学基础 信息论:第二章 核心度量
人工智能
虾..1 天前
Linux 简单日志程序
linux·运维·算法
Trent19851 天前
影楼精修-眼镜祛反光算法详解
图像处理·人工智能·算法·计算机视觉·aigc
蓝色汪洋1 天前
经典修路问题
开发语言·c++·算法
吾在学习路1 天前
【CVPR 2018最佳论文】Squeeze-and-Excitation Networks
人工智能·深度学习·神经网络·机器学习
csuzhucong1 天前
122魔方、123魔方
算法
小黄人软件1 天前
豆包AI手机是未来所有带屏设备的方向,包括POS机。豆包AI手机需要很强的本地算力吗?不需要。
人工智能·智能手机
Salt_07281 天前
DAY 47 Tensorboard的使用介绍
人工智能·python·深度学习·机器学习
木卫二号Coding1 天前
第七十篇-ComfyUI+V100-32G+运行SD3.5-文生图
人工智能