matlab照片锐化代码
时间: 2024-10-11 17:09:21 浏览: 37
matlab图片锐化代码-MatlabImageProcessing:添加噪声噪声消除图像大小调整分辨率研究滤波过程-中间滤波器-均值滤波器-
在MATLAB中,我们可以使用内置函数或自定义算法来对图像进行锐化处理。一种常见的方法是使用高通滤波器,如Sobel算子或Unsharp Masking技术。下面是一个简单的例子,展示如何使用Sobel算子进行边缘检测并增强图像的锐度:
```matlab
% 加载图片
img = imread('example.jpg'); % 替换为你要锐化的图片文件名
% 对图像进行灰度处理
gray_img = rgb2gray(img);
% Sobel算子的横纵梯度
sobelx = fspecial('sobel');
sobely = fspecial('sobel');
% 应用Sobel算子
grad_x = imfilter(gray_img, sobelx);
grad_y = imfilter(gray_img, sobely);
% 计算梯度幅值和方向
mag = sqrt(grad_x.^2 + grad_y.^2);
dir = atan2(grad_y, grad_x);
% 创建锐化后的图像
sharpened_img = img .* (1 + alpha * mag); % alpha通常设置为0.5到1之间的数值
sharpened_img = imadjust(sharpened_img); % 调整对比度范围
% 显示原图和锐化后的图像
figure;
subplot(1, 2, 1), imshow(gray_img, 'InitialMagnification', 'fit'), title('Original Image');
subplot(1, 2, 2), imshow(sharpened_img, 'InitialMagnification', 'fit'), title('Sharpened Image');
%
阅读全文