获取计算的直方图bin阈值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了获取计算的直方图bin阈值相关的知识,希望对你有一定的参考价值。

我已正确应用d3(v 4.0)直方图函数来存储数据数组。我的代码看起来像这样:

var bins = d3.histogram()
     .domain([data_points_min, data_points_max])
     .thresholds(8)
     (data_points);

是否有检索bin阈值的功能?我想我可以遍历数组并确定每个bin中的最大值,但这将是乏味的。我猜测必须有一个功能,包括一个产生“令人愉悦的人眼”的bin阈值而不是一些可怕的十进制数的功能。

伪代码会是这样的:

var bin_thresholds = bin.thresholds();
答案

没有方法(据我所知)返回每个bin的下限和上限。有一种方法可以返回垃圾箱的数量......

d3.thresholdSturges(values);

......这显然不是你想要的,特别是因为你已经设置了垃圾箱的数量。

但是,您不需要“遍历阵列并识别每个bin中的最大值”。直方图生成器生成两个属性:

  • x0 - bin的下限(包括)。
  • x1 - bin的上限(不包括最后一个bin)。

因此,您可以遍历结果以仅获取这些属性。例如:

var data = d3.range(1000).map(() => Math.random() * 20);
var bins = d3.histogram()
  .thresholds(8)(data)

bins.forEach(function(d, i) {
  console.log("Array number " + i + " --> Lower limit: " + d.x0 + " Upper limit:" + d.x1)
})
<script src="https://d3js.org/d3.v5.min.js"></script>

以上是关于获取计算的直方图bin阈值的主要内容,如果未能解决你的问题,请参考以下文章

计算机视觉基础MATLAB程序绘制空间内的彩色图像像素变化曲面等值线图生成子图像,显示该子图像的直方图与茎干图子图像进行自适应阈值分割和对比度拉伸,彩色图像处理

Python----opencv计算细胞核质比轮廓描绘椭圆拟合GUI手动调整阈值自定义函数自动检测阈值

大津阈值一般

大津阈值法(OTSU)功能实现

OpenCV 学习笔记(颜色直方图计算 calcHist)

图像分割基于matlab直方图的自适应阈值方法分割前景与背景含Matlab源码 2144期