MATLAB----sobel锐化滤波器

MATLAB----sobel锐化滤波器_第1张图片

% sobel锐化滤波器
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);                         % 原图像 + 白噪声

h = sobel_fspecial('sobel');  % 应用sobel算子锐化图像
R1 = filter2(h,R);          % sobel算子滤波锐化
G1 = filter2(h,G);          % sobel算子滤波锐化
B1 = filter2(h,B);          % sobel算子滤波锐化
im1 = cat(3,R1,G1,B1);      % sobel算子滤波锐化图像
figure('color',[1,1,1])
subplot(121),imshow(im,[]),title('original image')
subplot(122),imshow(im1,[]),title('sobel锐化滤波器')
function h = sobel_fspecial(type)
    if nargin < 1
        type = 'sobel';
    end
   switch type
       case 'sobel'  % Sobel filter
        h = [1 2 1;
            0 0 0;
            -1 -2 -1];
   end
end
  

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