图像缺陷处理matlab代码
时间: 2023-06-12 10:05:58 浏览: 48
以下是一个简单的用Matlab进行图像缺陷处理的示例代码:
```matlab
% 读取图像
img = imread('defective_image.jpg');
% 显示原始图像
figure;
imshow(img);
title('Original Image');
% 将图像转换为灰度图像
gray_img = rgb2gray(img);
% 中值滤波去除椒盐噪声
median_filtered_img = medfilt2(gray_img);
% 显示中值滤波后的图像
figure;
imshow(median_filtered_img);
title('Median Filtered Image');
% 使用Wiener滤波去除高斯噪声
wiener_filtered_img = wiener2(median_filtered_img);
% 显示Wiener滤波后的图像
figure;
imshow(wiener_filtered_img);
title('Wiener Filtered Image');
% 对比原始图像和处理后的图像
figure;
subplot(1,2,1);
imshow(img);
title('Original Image');
subplot(1,2,2);
imshow(wiener_filtered_img);
title('Processed Image');
```
这个示例代码包括以下步骤:
1. 读取图像。
2. 将图像转换为灰度图像。
3. 使用中值滤波去除椒盐噪声。
4. 使用Wiener滤波去除高斯噪声。
5. 显示原始图像、中值滤波后的图像、Wiener滤波后的图像以及原始图像和处理后的图像的对比。