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 中。
由于您现在知道所需的术语,因此您可以自行研究此问题的更多解决方案。请注意,如果您想正确。
,您的问题并不是一个微不足道的问题
我正在使用 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 中。
由于您现在知道所需的术语,因此您可以自行研究此问题的更多解决方案。请注意,如果您想正确。
,您的问题并不是一个微不足道的问题