用Matlab对图片进行锐化
时间: 2024-11-09 16:26:56 浏览: 17
tuxiangchuli.rar_平滑直方图_锐化平滑
5星 · 资源好评率100%
在MATLAB中,图像锐化是一种常见的图像处理技术,可以增强图像细节,使其看起来更清晰。通常,我们通过增加高频信息(如边缘和纹理)来达到这个目的。这里有一种基本的方法,即使用高斯滤波器后,再减去未模糊的原始图像,这称为拉普拉斯算子:
```matlab
% 加载图片
img = imread('your_image.jpg');
% 使用imfilter函数应用高斯滤波器
sigma = 1; % 高斯核的标准差,可以根据需要调整
gaussian_kernel = fspecial('gaussian', [5 5], sigma);
blurred_img = imfilter(img, gaussian_kernel);
% 计算拉普拉斯算子
laplacian_img = imsubtract(img, blurred_img);
% 显示原始和锐化后的图像
subplot(1,2,1), imshow(img), title('Original Image');
subplot(1,2,2), imshow(uint8(laplacian_img)), title('Sharpened Image');
```
在这个例子中,`fspecial`函数用于创建高斯滤波器,`imfilter`则应用于图像上进行平滑处理,最后`imsubtract`计算出拉普拉斯差分以实现锐化。
阅读全文