addWeighted 函数中的 OpenCV (gamma)
Posted
技术标签:
【中文标题】addWeighted 函数中的 OpenCV (gamma)【英文标题】:OpenCV (gamma) in addWeighted function 【发布时间】:2017-03-20 06:09:16 【问题描述】:在 OpenCV (c++) 中添加加权函数
void addWeighted(InputArray src1, double alpha, InputArray src2, double beta, double gamma, OutputArray dst, int dtype=-1)
gamma 是添加到每个总和的标量。
对于较大的 gamma 值,我们如何使其“环绕”?
当我将 gamma 设为 255 时,我只是得到一个白屏
【问题讨论】:
您对 gamma == 255 的期望是什么? 我希望它会“环绕”并给我相同的图像 如果值为 230 呢? 那么应该稍微深一点,230~-25 我不认为这是加法的工作原理。你的最终目标是什么?也许有不同的可行方法? 【参考方案1】:根据您的问题,我猜您在代码中动态接收gamma
,并且您没有将其硬编码为固定值。
在这种情况下,我建议您先对 gamma
执行中间算术运算,然后再将其提供给 addWeighted()
一个简单的例子是:
int wrap_around_thresh=150;//let's suppose
int gamma=getGammaValue(params)//if you're getting it dynamically
if(gamma < wrap_around_thresh)
//doNothing
else
gamma=255-gamma;
【讨论】:
以上是关于addWeighted 函数中的 OpenCV (gamma)的主要内容,如果未能解决你的问题,请参考以下文章
OpenCV - 输入参数的大小不匹配 - addWeighted