matlab – 如何稳健地分割图像以正确计算模糊斑点?

我试图强大地分割下面的图像(以及其他类似的图像)进行图像分析和斑点计数:

应该有900个独特的blob.

我已经尝试调整对比度,锐化,阈值处理,动态局部阈值处理,侵蚀,这些和其他形态运算符的组合.

我已经能够接近但我似乎总是将blob连接在一起:

侵蚀二进制图像更有帮助,但我最终失去了一些较小的blob.

有没有办法对大于一定大小的斑点进行侵蚀,所以我不会丢失较小的斑点?我应该使用不同的侵蚀元素吗?或者我只是以错误的方式解决这个问题?

最佳答案 您应该做的是执行局部阈值处理,您可以根据附近的强度为每个点选择阈值.然后,选择高阈值将断开blob.

分析应该包括邻居Max-Lloyd之类的东西,选择的阈值可能应该在最高峰值减去std-dev附近,以确保获得良好的结果.

窗口大小可能应该包含几个blob.

点赞