当前位置: 首页 > news >正文

OpenCV计算摄影学(20)非真实感渲染之增强图像的细节函数detailEnhance()

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

算法描述

此滤波器增强特定图像的细节。
cv::detailEnhance用于增强图像的细节,通过结合空间域和频率域的处理,提升图像中特定细节的清晰度和对比度。其核心原理基于多尺度Retinex算法(Multi-Scale Retinex),通过多尺度高斯滤波和加权平均,突出图像的细节信息。

函数原型

void cv::detailEnhance
( 	
    InputArray  	src,
		OutputArray  	dst,
		float  	sigma_s = 10,
		float  	sigma_r = 0.15f 
) 		

参数

  • 参数src 输入8位三通道图像。

  • 参数dst 与src具有相同尺寸和类型的输出图像。

  • 参数sigma_s 范围在0到200之间。

  • 参数sigma_r 范围在0到1之间。

代码示例

#include <opencv2/opencv.hpp>
using namespace cv;
using namespace std;

int main()
{
    // 读取输入图像
    Mat src = imread( "/media/dingxin/data/study/OpenCV/sources/images/jiangnan.jpg" );
    if ( src.empty() )
    {
        cout << "无法读取图像!" << endl;
        return -1;
    }

    Mat dst;
    // 正确调用方式:按顺序传递数值
    detailEnhance(src, dst, 20, 0.3);  // sigma_s=20, sigma_r=0.3

    imshow("Original", src);
    imshow("Enhanced", dst);
    waitKey(0);
    return 0;
}

运行结果

在这里插入图片描述

相关文章:

  • MATLAB 控制系统设计与仿真 - 27
  • 光谱相机识别瓶子材质的技术原理和应用案例
  • JS超过Number的最大值
  • 如何启用 HTTPS 并配置免费的 SSL 证书
  • hubilder打包ios app, 并上传TestFlight
  • c语言笔记 字符串函数---strstr strlen strtok以及sizeof
  • 1.5.3 掌握Scala内建控制结构 - for循环
  • 告别数据库束缚!用esProc在 csv 文件上执行 SQL
  • 搭建主从服务器
  • K8S之QoS详解
  • oracle 基础知识之 多表查询
  • soul能用ip精准定位吗?ip属地准确吗
  • hot100算法刷题:二叉树的层序遍历
  • Spring Boot 核心知识点深度详解:自动化配置 (Auto-configuration) - 解锁 Spring Boot 的 “魔法”
  • 远程访问家里电脑上部署的Stable diffusion - 免费篇
  • error: Microsoft Visual C++ 14.0 or greater is required解决不需要安装到c盘等
  • Mybatis使用Druid连接池
  • 0x04.若依框架微服务开发(含AI模块运行)
  • Kotlin 中 let 方法的作用和使用场景
  • 人工智能助力家庭机器人:从清洁到陪伴的智能转型
  • 人民日报评论员:焕发风雨无阻、奋勇前行的精气神
  • 内蒙古公开宣判144件毁林毁草刑案,单起非法占用林地逾250亩
  • 龚惠民已任江西省司法厅党组书记
  • “五一”假期预计全社会跨区域人员流动量超14亿人次
  • 中青旅:第一季度营业收入约20.54亿元,乌镇景区接待游客数量同比减少6.7%
  • 中国人保聘任田耕为副总裁,此前为工行浙江省分行行长