用matlab写出如下实验:实验二、膨胀 1、目的要求 (1)掌握图像膨胀的基本原理; (2)编写膨胀代码验证图像膨胀原理。 2、实验内容 (1)编写膨胀代码验证图像膨胀原理。 要求: (1)结构元素的原点由编写代码者采取一定的策略选定,给出两个不同原点的图像膨胀效果。 (2)结构元素模板大小可变
时间: 2023-12-06 21:44:33 浏览: 137
以下是基于 Matlab 的图像膨胀实验代码:
```matlab
clc;clear all;close all;
% 读取图像
I = imread('lena.png');
figure;
imshow(I);
title('Original Image');
% 定义结构元素
se1 = strel('disk',5,0); % 磨损圆盘形结构元素
se2 = strel('line',11,45); % 斜线形结构元素
% 对图像进行膨胀操作
I_dilate1 = imdilate(I,se1);
I_dilate2 = imdilate(I,se2);
% 显示膨胀后的图像
figure;
subplot(1,3,1);
imshow(I);
title('Original Image');
subplot(1,3,2);
imshow(I_dilate1);
title('Dilated Image (Disk-shaped)');
subplot(1,3,3);
imshow(I_dilate2);
title('Dilated Image (Line-shaped)');
```
在上述代码中,首先读取了一个名为“lena.png”的图像,并在原图像的基础上定义了两个不同类型的结构元素:磨损圆盘形结构元素和斜线形结构元素。然后,通过使用 `imdilate()` 函数将这两个结构元素应用到原始图像上,从而进行膨胀操作。最后,通过 `subplot()` 函数将原始图像和两个膨胀后的图像同时显示出来,以便比较它们的区别。
在运行上述代码后,将会生成一张包含三个子图的图像,其中左侧子图显示原始图像,中间子图显示使用磨损圆盘形结构元素进行膨胀后的图像,右侧子图显示使用斜线形结构元素进行膨胀后的图像。可以通过更改结构元素的类型和大小,来尝试不同的膨胀效果。
阅读全文