【问题标题】:OpenCV (gamma) in addWeighted functionaddWeighted 函数中的 OpenCV (gamma)
【发布时间】: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
  • 我不认为这是加法的工作原理。你的最终目标是什么?也许有不同的可行方法?

标签: c++ opencv image-processing


【解决方案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;
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-22
    • 2020-09-17
    • 1970-01-01
    • 2016-02-24
    • 1970-01-01
    相关资源
    最近更新 更多