用matlab写出1. (1)对1.jpg灰度线性变换(P0304)、直方图均衡化、均值滤波(P0307)、中值滤波和拉普拉斯锐化操作;
时间: 2023-12-17 07:02:02 浏览: 88
以下是对1.jpg进行灰度线性变换、直方图均衡化、均值滤波、中值滤波和拉普拉斯锐化操作的MATLAB代码:
```matlab
% 读入图片
img = imread('1.jpg');
% 灰度线性变换
img_gray = rgb2gray(img);
img_gray_linear = imadjust(img_gray, [0.2 0.8], [0 1]);
% 直方图均衡化
img_gray_histeq = histeq(img_gray);
% 均值滤波
img_gray_mean = imfilter(img_gray, fspecial('average'));
% 中值滤波
img_gray_median = medfilt2(img_gray);
% 拉普拉斯锐化
laplacian_filter = [0 -1 0; -1 5 -1; 0 -1 0];
img_gray_lap = imfilter(img_gray, laplacian_filter);
% 显示结果
subplot(2, 3, 1), imshow(img), title('原图');
subplot(2, 3, 2), imshow(img_gray_linear), title('灰度线性变换');
subplot(2, 3, 3), imshow(img_gray_histeq), title('直方图均衡化');
subplot(2, 3, 4), imshow(img_gray_mean), title('均值滤波');
subplot(2, 3, 5), imshow(img_gray_median), title('中值滤波');
subplot(2, 3, 6), imshow(img_gray_lap), title('拉普拉斯锐化');
```
代码中使用了MATLAB内置的函数`imread`读入图片,`rgb2gray`将彩色图片转换为灰度图像,`imadjust`进行灰度线性变换,`histeq`进行直方图均衡化,`imfilter`进行均值滤波、中值滤波和拉普拉斯锐化操作。最后使用`subplot`和`imshow`函数将原图和处理后的图像显示在同一窗口中。
阅读全文