matlab锐化滤波代码
时间: 2024-06-23 12:01:23 浏览: 117
在MATLAB中,锐化滤波是一种增强图像边缘和细节的技术,通常用于图像处理和计算机视觉应用中。以下是一个简单的高斯加拉伯卡尔锐化滤波(Gaussian-Laplacian Sharpening)的MATLAB代码示例:
```matlab
% 加载或创建一个图像
img = imread('your_image.jpg'); % 替换为你的图片文件名
% 定义高斯滤波器的宽度(可以根据需要调整)
sigma = 2; % 高斯滤波的方差
% 创建高斯滤波器
gauss_filter = fspecial('gaussian', [5, 5], sigma); % 5x5的高斯滤波器
% 创建拉普拉斯滤波器
laplacian_filter = fspecial('laplacian', [3, 3]); % 3x3的拉普拉斯算子
% 进行高斯平滑处理
blurred_img = imfilter(img, gauss_filter, 'replicate');
% 锐化操作
sharpened_img = imfilter(blurred_img, laplacian_filter, 'replicate') + img;
% 显示原始图像和锐化后的图像
figure;
subplot(1, 2, 1), imshow(img), title('Original Image');
subplot(1, 2, 2), imshow(sharpened_img), title('Sharpened Image');
```
在这个例子中:
1. `imread`函数用来读取图像。
2. `fspecial`函数用于创建高斯和拉普拉斯滤波器。
3. `imfilter`函数应用滤波器到图像上,`replicate`边界处理方式使图像边缘像素保持不变。
4. 最后使用`imshow`显示原始图像和锐化后的图像。
阅读全文