function y = imsharp(x, c) if nargin == 1, c = 1; end switch c case 0 h = [0 -1 0; -1 5 -1; 0 -1 0]; % sharpening filter. sum(sum(h)) = 1 case 1 h = [-1 -1 -1; -1 9 -1; -1 -1 -1]; % sharpening filter. sum(sum(h)) = 0 end y = conv2(x, h, 'same'); % compression of dynamic range y = imcmprss(abs(y));