matlab图像人物边缘提取
时间: 2023-11-02 10:01:07 浏览: 97
MATLAB 中可以使用多种边缘提取算法来提取图像中的人物边缘。下面介绍两种常用的算法:
1. Canny 算法
Canny 算法是一种经典的边缘检测算法,它能够检测出图像中的所有边缘。使用 MATLAB 的 `edge` 函数可以实现 Canny 算法的边缘检测,示例代码如下:
```
I = imread('image.jpg'); % 读入图像
I = rgb2gray(I); % 转成灰度图
BW = edge(I,'Canny'); % Canny 边缘检测
imshow(BW); % 显示结果
```
2. Sobel 算法
Sobel 算法是一种常用的边缘检测算法,它通过对图像进行梯度计算来检测出边缘。使用 MATLAB 的 `imgradient` 函数可以实现 Sobel 算法的边缘检测,示例代码如下:
```
I = imread('image.jpg'); % 读入图像
I = rgb2gray(I); % 转成灰度图
[Gx, Gy] = imgradientxy(I); % 计算 Sobel 梯度
BW = imgradient(Gx, Gy); % 计算边缘图像
imshow(BW); % 显示结果
```
以上两种算法都可以用来提取图像中的人物边缘,具体选择哪一种算法取决于应用场景和需求。
阅读全文