MATLAB 图像阈值问题

MATLAB Image thresholding Issue

我正在尝试分析以下图像,我的想法是勾勒出液滴的轮廓,这样我就可以使用 bwboundaries 获得它的边界。

我的代码目前是

image = imread('IMG00022.jpg');

BW = im2bw(image, 0.35);
BW = ~BW;
BW = imfill(BW,'holes');

这导致以下输出。它包括与边界颜色相似的液滴周围的边缘。

目标是实现以下输出。我该如何解决这个问题?解决方案是使用阈值范围而不是静态值(我不确定这是否能解决问题)还是有其他方法?

提前致谢。

一个小 opening 将带您到达您需要去的地方:

se = strel('disk',11);
BW = imopen(BW,se);

将大小 (11) 调整到您需要的大小,以除去液滴以外的所有东西。