用matlab语言要求对 blood.bmp、 lena.bmp,分别用1) Roberts 算子 2) Sobel 算子 3) Prewitt 算子 4) 拉普拉斯算子 5) Canny 算子进行边缘检测,写出检测代码
时间: 2024-06-08 22:08:42 浏览: 14
以下是用 MATLAB 实现常用边缘检测算子的代码:
1. Roberts 算子:
```matlab
img = imread('blood.bmp');
roberts_v = [1 0; 0 -1];
roberts_h = [0 1; -1 0];
edge_v = conv2(double(img), roberts_v, 'same');
edge_h = conv2(double(img), roberts_h, 'same');
edge = sqrt(edge_v.^2 + edge_h.^2);
imshow(uint8(edge));
```
2. Sobel 算子:
```matlab
img = imread('lena.bmp');
sobel_v = [-1 0 1; -2 0 2; -1 0 1];
sobel_h = [1 2 1; 0 0 0; -1 -2 -1];
edge_v = conv2(double(img), sobel_v, 'same');
edge_h = conv2(double(img), sobel_h, 'same');
edge = sqrt(edge_v.^2 + edge_h.^2);
imshow(uint8(edge));
```
3. Prewitt 算子:
```matlab
img = imread('blood.bmp');
prewitt_v = [-1 0 1; -1 0 1; -1 0 1];
prewitt_h = [1 1 1; 0 0 0; -1 -1 -1];
edge_v = conv2(double(img), prewitt_v, 'same');
edge_h = conv2(double(img), prewitt_h, 'same');
edge = sqrt(edge_v.^2 + edge_h.^2);
imshow(uint8(edge));
```
4. 拉普拉斯算子:
```matlab
img = imread('lena.bmp');
laplacian = [0 -1 0; -1 4 -1; 0 -1 0];
edge = conv2(double(img), laplacian, 'same');
imshow(uint8(edge));
```
5. Canny 算子:
```matlab
img = imread('blood.bmp');
edge = edge(img, 'canny');
imshow(edge);
```
注意,Canny 算子在 MATLAB 中有内置函数 `edge()` 实现,其他算子可以通过卷积实现。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)