第六章 图像分割
实例:使用区域生长算法实现图像分割
clear;
clc;
close all;
%读入图像
I = imread('shape.jpg');
I = double(I);
%设定阈值,用来衡量像素点灰度之间的相似性
T = 10;
%用户选择种子点生成方式
[sel,ok]=listdlg('liststring',{'按照灰度级设定种子','选点设定种子'},...??
'listsize',[300 200],'OkString','确定','CancelString','取消',...??
'promptstring','种子生成方式','name','选择种子生成方式','selectionmode','single');
%使用灰度级设定种子点
if sel == 1
%用户指定灰度级
answer = inputdlg('请输入灰度级:');
subplot(2,2,1),imshow(I, []),title('原图像');
%获取用户的输入并转换成double类型
S = str2double(answer{1,1});
%原图中所有灰度级为S的点都被选定为种子,种子位置保存在SI中
%SI是和原图规模相同的矩阵,有种子的位置其值为1,否则为0
SI = I == S;
%S1中保存的是种子点的灰度值
S1