Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/368.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用OpenCV.js增加亮度?_Javascript_Opencv_Image Processing - Fatal编程技术网

Javascript 如何使用OpenCV.js增加亮度?

Javascript 如何使用OpenCV.js增加亮度?,javascript,opencv,image-processing,Javascript,Opencv,Image Processing,我找到了一种方法,但它很重,使一切都滞后(主要是因为我正在逐像素重新创建垫子) for(设x=0;x

我找到了一种方法,但它很重,使一切都滞后(主要是因为我正在逐像素重新创建垫子)

for(设x=0;x
是否有一个功能可以更有效地完成同样的事情?或者可能是一种更简单的方法,它会导致相同的结果?

就这样做吧

缩放、计算绝对值并将结果转换为8位

在输入数组的每个元素上,函数convertScaleAbs 按顺序执行三个操作:缩放、获取绝对值 值,转换为无符号8位类型

参数:

src输入阵列

dst输出阵列

阿尔法可选比例因子

beta可选增量添加到缩放值


@Val_uu有一个用于convertScaleAbs的JS绑定。看见
for (let x = 0; x < src.cols; x++) {
for (let y = 0; y < src.rows; y++) {
  for (let c = 0; c < 4; c++) {
    if(c != 3){
      if((src.data[y * src.cols * src.channels() + x * src.channels() + c]+lum_val) < 255){
          dst.data[y * dst.cols * dst.channels() + x * dst.channels() + c] = (src.data[y * src.cols * src.channels() + x * src.channels() + c]+lum_val);
        }else{
          dst.data[y * dst.cols * dst.channels() + x * dst.channels() + c] = 255;
        }
      }else{
        dst.data[y * dst.cols * dst.channels() + x * dst.channels() + c] = (src.data[y * src.cols * src.channels() + x * src.channels() + c]);
      }
    }
  }
}