matlab7.0,对图像添加椒盐噪声,利用形态学平滑方法进行去噪,提取图像的形态学边缘,对图像进行高帽变换实现代码
时间: 2023-12-04 08:03:23 浏览: 132
基于matlab的图像椒盐噪声的平滑效果⽐较
5星 · 资源好评率100%
下面是 MATLAB 7.0 的代码实现:
```matlab
% 读取图像
img = imread('lena.png');
% 添加椒盐噪声
noise_img = imnoise(img, 'salt & pepper', 0.1);
% 形态学平滑去噪
se = strel('square', 3);
denoise_img = imclose(imopen(noise_img, se), se);
% 提取形态学边缘
edge_img = denoise_img - imerode(denoise_img, se);
% 高帽变换
hat_img = imtophat(denoise_img, se);
% 显示结果
subplot(2, 3, 1); imshow(img); title('原图像');
subplot(2, 3, 2); imshow(noise_img); title('添加椒盐噪声');
subplot(2, 3, 3); imshow(denoise_img); title('形态学平滑去噪');
subplot(2, 3, 4); imshow(edge_img); title('形态学边缘');
subplot(2, 3, 5); imshow(hat_img); title('高帽变换');
```
其中,`imnoise` 函数可以添加椒盐噪声,第二个参数为噪声类型,第三个参数为噪声密度;`strel` 函数可以创建结构元素,这里创建了一个 $3 \times 3$ 的正方形结构元素;`imclose` 和 `imopen` 函数分别进行闭运算和开运算,实现平滑去噪;`imerode` 函数实现腐蚀操作,`imtophat` 函数实现高帽变换。最后使用 `subplot` 函数将结果显示在一个图像窗口中。
阅读全文