MATLAB 查找轮廓函数
时间: 2023-11-11 13:27:12 浏览: 129
Matlab 轮廓检测
4星 · 用户满意度95%
MATLAB 中查找轮廓的函数是 bwboundaries。该函数可用于处理二值图像,返回一个细胞数组,其中每个元素都是一个轮廓的点集。
函数语法如下:
[B,L] = bwboundaries(BW)
[B,L] = bwboundaries(BW,conn)
[B,L,N,A] = bwboundaries(BW,...)
其中,BW 是二值图像,conn 是连接方式(可选,默认为 8 连通)。返回值 B 是一个细胞数组,每个元素都是一个轮廓的点集;L 是标记矩阵,其中每个像素都被标记为属于哪个轮廓;N 是轮廓的数量;A 是轮廓的面积。
例如,以下代码使用 bwboundaries 函数找到二值图像中的轮廓:
```matlab
% 读取二值图像
BW = imread('binary_image.png');
% 找到轮廓
[B,L] = bwboundaries(BW);
% 绘制轮廓
figure;
imshow(BW);
hold on;
for k = 1:length(B)
boundary = B{k};
plot(boundary(:,2), boundary(:,1), 'r', 'LineWidth', 2);
end
```
绘制结果如下图所示:
![image](https://cdn.luogu.com.cn/upload/image_hosting/e9xkxopj.png)
阅读全文