gusucode.com > 精通Matlab数字图像处理与识别源码程序 > 精通Matlab数字图像处理与识别源码程序/chapter5/Code/ex5_5.m
% 基于Robert交叉梯度的图像锐化 I = imread('../bacteria.bmp'); imshow(I); % 显示图5.7(a) I = double(I); % 转换为double型,这样可以保存负值,否则uint8型会把负值截掉 w1 = [-1 0; 0 1] w2 = [0 -1; 1 0] G1 = imfilter(I, w1, 'corr', 'replicate'); % 以重复方式填充边界 G2 = imfilter(I, w2, 'corr', 'replicate'); G = abs(G1) + abs(G2); % 计算Robert梯度 figure, imshow(G, []); % 显示图5.7(b) figure, imshow(abs(G1), []); % 显示图5.7(c) figure, imshow(abs(G2), []); % 显示图5.7(d)