ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

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

2026/8/5 7:55:36 拓冰建站 浏览量
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 理论的多尺度增强策略。

函数原型

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 参数。

代码示例


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

运行结果

在这里插入图片描述