B = bwboundaries(bw);
时间: 2024-04-07 12:29:45 浏览: 143
`bwboundaries`函数是MATLAB中用于提取二值图像中连通区域边界的函数,函数的语法格式如下:
```
B = bwboundaries(BW);
```
其中,`BW`表示一个二值图像,`B`是一个`n-by-1`的单元格数组,每个单元格里存储了代表一个连通区域的边界点坐标。也就是说,如果二值图像中有`n`个连通区域,则`B`的长度就为`n`。
例如,下面的代码演示了如何使用`bwboundaries`函数提取二值图像中的连通区域边界:
```matlab
% 读取二值图像
bw = imread('binary_image.png');
% 提取连通区域边界
B = bwboundaries(bw);
% 显示连通区域边界
figure, imshow(bw), hold on
for k = 1:length(B)
boundary = B{k};
plot(boundary(:,2), boundary(:,1), 'r', 'LineWidth', 2)
end
```
在上述代码中,`bw`表示一个二值图像,`B`是一个单元格数组,`length(B)`表示连通区域的数量。通过循环遍历`B`数组,可以将每个连通区域的边界点坐标提取出来,并绘制出来。
运行上述代码,就可以将二值图像中所有连通区域的边界绘制出来,如下图所示:
![提取二值图像中的连通区域边界](https://img-blog.csdn.net/20180723152739977?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3RlY2hzb25saW5l/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/q/70)
阅读全文