matlab - 如何在 MATLAB 中为大型结构制作封闭组件标签?

标签 matlab image-processing image-segmentation

我知道如何在 bwlabel 的帮助下为小型结构制作封闭组件标签。但是,我现在有以下图像:

enter image description here

在这张图片上使用 bwlabel 只会产生两个类别,即边缘 - 以及它周围的一切。

我想知道在 matlab 中是否有一个简单的解决方案可以将“圆”的内部作为一个类,将外部作为另一个类?边界可能是三等。

我目前的代码是用于测试 bwlabel 的 onyl

i = imread('apple.jpg')
labels = bwlabel(i)

最佳答案

@Shai's answer应该更快更容易


简单:只需制作标签两次,一次填充。

% load
I=rgb2gray(imread('https://i.sstatic.net/nnJUn.png'));
I=I(:,1:end-2); %some artifacts in the corners of the SO image

labels = bwlabel(I);
filled=imfill(I,'holes'); % fill
labels2= bwlabel(filled);
labels=labels+labels2;

enter image description here

关于matlab - 如何在 MATLAB 中为大型结构制作封闭组件标签?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49496603/

相关文章:

open-source - 是否有蛇或分水岭分割算法的开源实现?

python - 在用于图像分割的全卷积神经网络中将Python中的索引值转换为(R,G,B)值(颜色图)

matlab - 解决 Matlab yyaxis 限制?

android - 如何在不模糊的情况下缩放图像?

python-3.x - 使用opencv查找轮廓(图像处理)

python - 在 OpenCV 中重用 grabcut 模型

open-source - 我可以将我的 MATLAB 程序作为开放源代码分发吗?

matlab - Matlab中矩阵维数必须符合错误吗?

matlab - 如何记录面向对象的 MATLAB 代码?

algorithm - 模板匹配算法