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

时间:2015-02-10 14:18:58

标签: matlab image-processing histogram distribution vision

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

图片1:

enter image description here

和 图2:

enter image description here

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

换句话说,有些可以被阈值化(以产生良好的结果)而有些则不能。有什么方法可以将这两个图像分开吗?在MATLAB中是否有任何功能可以帮助实现这些功能?

使用的函数是imhist()

1 个答案:

答案 0 :(得分:1)

如果你的意思是"区分"通过"分开",然后是:您描述的属性称为 bimodality ,即您有2个峰值可以分隔一个阈值。所以你的问题实际上是"我如何测试潜在的双峰分布?"

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

Kernel Smoothing可能是更强大的解决方案。您基本上移动并缩放某个函数(例如高斯函数)以适合数据。这可以在matlab中使用histfit完成。

您可以自己研究这个问题的更多解决方案,因为您现在知道所需的术语。请注意,如果您想要正确,那么您的问题并不是一件轻而易举的事。