基于对数变换和非线性变换的图像增强(图像亮度调节)

本文介绍了如何使用C++和OpenCV库进行图像增强,通过对数变换和非线性变换提升图像暗部细节。详细讲解了normalize函数的参数和作用,并提供了meanStdDev计算均值和标准差的方法。代码适用于彩色和灰度图像,对数变换公式为dst(i,j)=c*log(1+src(i,j))。" 115850213,10545296,使用Matlab安装与运行Segymat 1.03:地震数据转换指南,"['地震数据处理', 'Matlab工具', '数据转换']
摘要由CSDN通过智能技术生成

使用C++、opencv实现对图像的对数变换及非线性变换,实现图像增强

相关API:

void normalize(InputArray src, OutputArray dst, double alpha=1, double beta=0, int norm_type=NORM_L2, int dtype=-1, InputArray mask=noArray() )

normalize函数的作用是进行矩阵的归一化。归一化就是把要处理的数据经过某种算法的处理限制在所需要的范围内。首先归一化是为了后面数据处理的方便,其次归一化能够保证程序运行时收敛加快。归一化的具体作用是归纳同意样本的统计分布性,归一化在0-1之间是统计的概率分布,归一化在某个区间上是统计的坐标分布,在机器学习算法的数据预处理阶段,归一化也是非常重要的步骤。

第一个参数,InputArray类型的src。输入图像,即源图像,填Mat类的对象即可。
第二个参数,OutputArray类型的dst。函数调用后的运算结果存在这里,和源图片有一样的尺寸和类型。
第三个参数,double类型的 alpha。归一化后的最大值,有默认值1。
第四个参数,double类型的beta。归一化后的最大值,有默认值0。
第五个参数,int类型的 norm type。归一化类型,有NORM_INF、 NORM_L1、NORM_L2和 NORM_MINMAX等参数可选,有默认值 NORM_L2。

第六个参数,int类型的 dtype,有默认值-1。当此参数取负值时,输出矩阵和src有同样的类型,否则,它和src有同样的通道数,且此时图像深度为CV_MAT_DEPTH(dtype)。
第七个参数,InputArray类型的mask,可选的操作掩膜,有默认值noArray()。

void meanStdDev(InputArray src, OutputArray mean, OutputArray stddev, InputArray mask=noArray())

第一个参数src,输入数组,应该有1到4个通道,以便结果可以存储在Scalar中。

第二个参数mean,输出参数,计算的平均值。

第三个参数srddev,输出参数,计算标准偏差。

第四个参数mask,可选的操作掩膜,有默认值没有掩膜

meanStdDev计算结果是double类型的。
meanStdDev计算的均值和标准差都以Mat形式返回,这里返回的是1X1的矩阵。所以访问结果,要访问Mat的元素。<

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值