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

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

本文整理了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

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

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

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

相关文章

Core类方法