MATLAB线性锐化滤波器

MATLAB线性锐化滤波器_第1张图片
% 线性锐化滤波器
clc,clear,close all % 清理命令区、清理工作区、关闭显示图形
warning off % 消除警告
feature jit off % 加速代码运行
im = imread(‘coloredChips.png’); % 原图像
R = imnoise(im(:,:,1),‘gaussian’,0,0.01); % R + 白噪声
G = imnoise(im(:,:,2),‘gaussian’,0,0.01); % G + 白噪声
B = imnoise(im(:,:,3),‘gaussian’,0,0.01); % B + 白噪声
im = cat(3,R,G,B); % 原图像 + 白噪声

w =[-1 -1 -1; % 掩膜mask
-1 8 -1;
-1 -1 -1];
im1 = linear_sharpen_filter(im,w);
figure(‘color’,[1,1,1])
subplot(121),imshow(im,[]),title(‘original image’)
subplot(122),imshow(im1,[]),title(‘线性锐化滤波器’)
function im3 = linear_sharpen_filter(im,w)
% 线性锐化滤波器
% input:
% im:原始图像,待滤波图像
% D0:带阻滤波器的截止频率
% n :阶次
% output:
% H:M x N的矩阵,表示频域滤波器矩阵,数据类型为double,
if ~isa(im,‘double’)
im1 = double(im)/255;
end
im2 = imfilter(im1,w,‘replicate’); % 线性锐化处理
im3 = im1-im2; % im3为锐化后图像
end

你可能感兴趣的:(MATLAB可视化,可视化,数据可视化,matlab)