Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在使用 MATLAB 进行图像处理。我有两个不同的图像,其直方图如下所示。
图 1:
和图 2:
我有多个像这样的图像,唯一的区别(分离)特征是一些有单峰而另一些有两个峰。
换句话说,有些可以设置阈值(以产生良好的结果),而有些则不能。有什么办法可以分开这两个图像吗?在 MATLAB 中有没有这样做的函数或任何有帮助的参考代码?
使用的功能是imhist()
imhist()
如果您的意思是通过“分离”来“区分”,那么是的:您描述的属性称为bimodality,即您有 2 个可以被一个阈值分隔的峰。所以你的问题实际上是“我如何测试潜在的双峰分布?”
以编程方式执行此操作的一种选择是Binning。这不是最稳健但最简单的方法。它可能有效,也可能无效。
内核平滑可能是更强大的解决方案。您基本上可以移动和缩放某个函数(例如高斯)以适应数据。这可以通过 matlab 中的histfit来完成。
由于您现在知道所需的术语,因此您可以自己研究此问题的更多解决方案。请注意,如果您想正确地解决问题,您的问题就不是一件小事。