matlab 1)读取一副灰度图像,对灰度图像进行膨胀、腐蚀、开运算、 闭运算。 ( 2)验证开和闭运算具有幂等性。 将灰度图像和四个运算结果图像在同一个窗口带标题显示;将一 次开运算、二次开运算、一次闭运算、二次闭运算的图像在另外一个 窗口带标题显示。
时间: 2024-05-09 21:15:50 浏览: 116
以下是 MATLAB 代码实现:
```matlab
% 读取灰度图像
img = imread('lena_gray.jpg');
% 膨胀
se = strel('square', 5);
dilated = imdilate(img, se);
% 腐蚀
eroded = imerode(img, se);
% 开运算
opened = imopen(img, se);
% 闭运算
closed = imclose(img, se);
% 将原图和四个运算结果图像在同一个窗口带标题显示
figure;
subplot(2,3,1); imshow(img); title('Original Image');
subplot(2,3,2); imshow(dilated); title('Dilated Image');
subplot(2,3,3); imshow(eroded); title('Eroded Image');
subplot(2,3,4); imshow(opened); title('Opened Image');
subplot(2,3,5); imshow(closed); title('Closed Image');
% 验证开和闭运算具有幂等性
opened2 = imopen(opened, se);
closed2 = imclose(closed, se);
% 将一次开运算、二次开运算、一次闭运算、二次闭运算的图像在另外一个窗口带标题显示
figure;
subplot(2,2,1); imshow(opened); title('1st Opened Image');
subplot(2,2,2); imshow(opened2); title('2nd Opened Image');
subplot(2,2,3); imshow(closed); title('1st Closed Image');
subplot(2,2,4); imshow(closed2); title('2nd Closed Image');
```
运行上述代码,即可得到对应的结果。注意,需要将代码中的 `lena_gray.jpg` 替换成自己的灰度图像文件名。
阅读全文