www.gusucode.com > IPCV_Eval_Kit_R2019a_0ce6858工具箱matlab程序源码 > IPCV_Eval_Kit_R2019a_0ce6858/code/demo_files/I2_09_4_3_FMM.m

    %% 崅懍儅乕僠儞僌朄傪梡偄偨丄夋憸偺椞堟暘妱
clc;close all;imtool close all;clear;

%% 夋憸偺撉崬傒
G = imread('cameraman.tif');
figure; imshow(G);

%% 奐巒埵抲傪巜掕偡傞堊偺擇抣夋憸嶌惉
seed = false(size(G));      % 慡偰崟偺夋憸偺嶌惉
imshow(seed); shg;          % 昞帵
%%
seed(170:180, 70:80) = true;  % x=70~80, y=170~180 偺椞堟傪敀偵
figure; imshowpair(G, seed, 'montage');shg;   % 暲傋偰昞帵

%% [僗僥僢僾侾] 廳傒攝楍傪寁嶼丗奺夋慺偺岡攝偺媡悢 %%%%%%%%%%%%%%%
%    弌椡(廳傒)偼岡攝偺戝偒偝偵斀斾椺丗僄僢僕=>廳傒彫
sigma = 2;    % 僈僂僔傾儞偺昗弨曃嵎
W = gradientweight(G, sigma);
figure, imshowpair(G, log(W), 'montage');    % 帺慠懳悢僗働乕儖偱昞帵

%% [僗僥僢僾俀] 媮傔偨廳傒傪棙梡偟偰丄僙僌儊儞僥乕僔儑儞
thresh = 0.1;
[BW, D] = imsegfmm(W, seed, thresh);
figure; imshow(D);   % 寁嶼偝傟偨丄嵟戝1偵婯奿壔偝傟偨應抧慄嫍棧峴楍乮Seed偐傜偦偺僺僋僙儖傑偱丅廳傒傪峫椂乯

%% 僙僌儊儞僥乕僔儑儞寢壥
figure; imshow(BW)


%% 廳傒(僐僗僩偺媡)攝楍傪寁嶼丗奐巒揰夋慺抣偲偺嵎偐傜寁嶼
%    seed椞堟偺暯嬒傪巊梡丄弌椡(廳傒)偼嵎偵斀斾椺丗嵎偑彫=>廳傒戝
W = graydiffweight(G, seed, 'GrayDifferenceCutoff', 25);   %嵎偺嵟戝偼25偱朞榓
figure, imshowpair(G, log(W), 'montage');    % 帺慠懳悢僗働乕儖偱昞帵

%% 媮傔偨廳傒傪棙梡偟偰丄僙僌儊儞僥乕僔儑儞
thresh = 0.01;
[BW, D] = imsegfmm(W, seed, thresh);
figure; imshow(D);   % 寁嶼偝傟偨丄婯奿壔偝傟偨應抧慄嫍棧峴楍乮Seed偐傜偦偺僺僋僙儖傑偱乯
%% 僙僌儊儞僥乕僔儑儞寢壥
imtool(BW)



%%
% Copyright 2015 The MathWorks, Inc.