分别使用Laplace算子和Unsharp masking法对两幅图像进行增强( MatLab自行编程实现 ),其中Unsharp masking 的smoothing kernel使用33的盒形滤波器。提交源代码、锐化图像及增强图像
时间: 2024-02-22 10:54:52 浏览: 19
好的,我明白了你的问题。由于我是一个NLP模型,无法进行图像处理,但我可以为你提供相应的Matlab代码,请您在Matlab中运行。
使用Laplace算子进行图像增强的代码:
```matlab
% 读取原始图像
img = imread('original_image.jpg');
% 定义Laplace算子
Laplace = [0 -1 0; -1 4 -1; 0 -1 0];
% 对原始图像进行卷积
img_laplace = conv2(double(rgb2gray(img)), Laplace, 'same');
% 对卷积结果进行线性变换并进行图像增强
img_enhanced = imadjust(mat2gray(img_laplace), [0.2 0.8], [0 1]);
% 显示锐化图像和增强图像
figure;
subplot(1, 2, 1); imshow(img_laplace, []); title('Sharpened Image');
subplot(1, 2, 2); imshow(img_enhanced); title('Enhanced Image');
```
使用Unsharp masking法进行图像增强的代码:
```matlab
% 读取原始图像
img = imread('original_image.jpg');
% 定义3x3的盒形滤波器
h = ones(3, 3) / 9;
% 对原始图像进行平滑处理
img_smooth = conv2(double(rgb2gray(img)), h, 'same');
% 计算锐化图像
img_sharpened = double(rgb2gray(img)) - img_smooth;
% 对锐化图像进行线性变换并进行图像增强
img_enhanced = imadjust(mat2gray(img_sharpened), [0.2 0.8], [0 1]);
% 显示锐化图像和增强图像
figure;
subplot(1, 2, 1); imshow(img_sharpened, []); title('Sharpened Image');
subplot(1, 2, 2); imshow(img_enhanced); title('Enhanced Image');
```
请将代码保存为.m文件,并将图片文件命名为"original_image.jpg",与代码文件放置在同一目录下。运行代码后,会生成锐化图像和增强图像。