org.opencv.core.Core.sumElems()方法的使用及代码示例

x33g5p2x  于2022-01-18 转载在 其他  
字(1.0k)|赞(0)|评价(0)|浏览(268)

本文整理了Java中org.opencv.core.Core.sumElems()方法的一些代码示例,展示了Core.sumElems()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Core.sumElems()方法的具体详情如下:
包路径:org.opencv.core.Core
类名称:Core
方法名:sumElems

Core.sumElems介绍

[英]Calculates the sum of array elements.

The functions sum calculate and return the sum of array elements, independently for each channel.
[中]计算数组元素的和。
函数sum分别为每个通道计算并返回数组元素的总和。

代码示例

代码示例来源:origin: ytai/IOIOPlotter

private static float darkness(Mat in) {
    float total = (float) Core.sumElems(in).val[0];
    return total / in.cols() / in.rows() / 128;
  }
}

代码示例来源:origin: openpnp/openpnp

public static double calculatePsnr(Mat I1, Mat I2) {
  Mat s1 = new Mat();
  Core.absdiff(I1, I2, s1); // |I1 - I2|
  s1.convertTo(s1, CvType.CV_32F); // cannot make a square on 8 bits
  s1 = s1.mul(s1); // |I1 - I2|^2
  Scalar s = Core.sumElems(s1); // sum elements per channel
  double sse = s.val[0] + s.val[1] + s.val[2]; // sum channels
  if (sse <= 1e-10) {
    // for small values return zero
    return 0;
  }
  else {
    double mse = sse / (double) (I1.channels() * I1.total());
    double psnr = 10.0 * Math.log10((255 * 255) / mse);
    return psnr;
  }
}

相关文章

Core类方法