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) 调整到您需要的大小,以除去液滴以外的所有东西。
我正在尝试分析以下图像,我的想法是勾勒出液滴的轮廓,这样我就可以使用 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) 调整到您需要的大小,以除去液滴以外的所有东西。