Matlab 图像直方图分析:如何测试潜在的双峰分布?

Matlab Image Histogram Analysis: how do I test for an underlying bimodal distribution?

我正在使用 MATLAB 进行图像处理。我有两个不同的图像,其直方图如下所示。

图片 1:

和 图 2:

我有多个像这样的图像,唯一的区别(分离)特征是有些有单峰,有些有两个峰。

换句话说,有些可以设置阈值(以产生良好的结果),而另一些则不能。有什么办法可以将两张图片分开吗?在 MATLAB 中是否有这样做的函数或任何有用的参考代码?

使用的函数是imhist()

如果您用 "separate" 表示 "distinguish",那么是的:您描述的 属性 称为 双峰性 ,即您有 2 个峰可以用一个阈值分隔。所以你的问题实际上是 "how do I test for an underlying bimodal distribution?"

以编程方式执行此操作的一个选项是 Binning。这不是最稳健但最简单的方法。它可能有效,也可能无效。

Kernel Smoothing is probably the more robust solution. You basically shift and scale a certain function (e.g. Gaussian) to fit the data. This can be done with histfit 在 matlab 中。

由于您现在知道所需的术语,因此您可以自行研究此问题的更多解决方案。请注意,如果您想正确

,您的问题并不是一个微不足道的问题