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

    %% 應抧慄嫍棧儀乕僗偺僇儔乕僙僌儊儞僥乕僔儑儞
%     奐巒椞堟偲偟偰丄悢昐夋慺埲忋傪悇彠
clc;clear;close all;imtool close all;

%% 夋憸偺撉崬傒丒昞帵
RGB = imread('yellowlily.jpg');
figure;imshow(RGB);

%% 慜宨巜掕丗奐巒椞堟   乮暋悢椞堟傕壜乯
%    roipoly, imfreehand, imrect, impoly, imellipse 傕巊梡壜
%bbox1 = [700 350 820 775];   % [嵍忋峴 嵍忋楍 塃壓峴 塃壓楍]
BW1 = false(size(RGB(:,:,1)));
BW1(700:820, 350:775) = true;
hold on; visboundaries(BW1, 'Color','r');

%% 攚宨巜掕丗奐巒椞堟
bbox2 = [1230 90 1420 1000];
BW2 = false(size(RGB(:,:,1)));
BW2(bbox2(1):bbox2(3),bbox2(2):bbox2(4)) = true;
visboundaries(BW2, 'Color','b');shg;

%% 僙僌儊儞僥乕僔儑儞偺幚峴
%     YCbCr嬻娫傊曄姺屻張棟偝傟傞
[L,P] = imseggeodesic(RGB,BW1,BW2);
figure; imshow(P(:,:,1))          % 慜宨偺妋棪

%% 寢壥偺昞帵
figure; imshow(label2rgb(L))

%% 媮傑偭偨椞堟嫬奅傪昞帵
figure; imshow(RGB); hold on;
visboundaries(L==min(L(:)), 'Color','r');

%%
% Copyright 2015 The MathWorks, Inc.