www.gusucode.com > 《matlab图像处理与界面编程宝典》秦襄培 编著,每章的MATLAB源代码程序 > 第18章/代码18-9.txt

    
clc;                                % 清理命令窗口
[I,map]=imread('eight.tif');        % 读入图像
subplot(2,2,1),imshow(I,map);       % 显示原始图像
title('original image')             % 设置图像标题
I=double(I);                        % 数据类型转换
[IX,IY]=gradient(I);                % 梯度
GM=sqrt(IX.*IX+IY.*IY);             
OUT1=GM;                            % 输出图像
subplot(2,2,2),imshow(OUT1,map);    % 直接梯度值输出
title('gradient value ')            % 设置图像标题
OUT2=I;                             % 输出图像
J=find(GM>=15);	                    % 阈值处理
OUT2(J)=GM(J);                      % 输出图像
subplot(2,2,3),imshow(OUT2,map);    % 显示处理后的图像
title('Thresholded  Gradient')   	% 加阈梯度值输出;
OUT3=I;                             % 输出图像
J=find(GM>=20);                     % 阈值黑白化
OUT3(J)=255;                        % 设置为白色
Q=find(GM<20);                      % 阈值黑白化
OUT3(Q)=0;                          % 设置为黑色
subplot(2,2,4),imshow(OUT3,map);    % 二值图像  
title('Two values');                % 设置图像标题