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

    %% 婡夿妛廗僨儌丗慜曽幵椉偺専弌
clc;clear;close all;imtool close all;

%% Image Labeler 傪婲摦丗壓婰僐儅儞僪傕偟偔偼傾僾儕僞僽偐傜
imageLabeler

% 乽撉傒崬傒乿仺乽僼僅儖僟乕偐傜僀儊乕僕傪捛壛乿 
% I5_02_cars 撪偺夋憸傪捛壛乮幚嵺偼悢昐枃埲忋偺夋憸傪巊梡乯
% 傕偟偔偼壓婰偺僐儅儞僪偱婲摦
% imageLabeler('I5_02_cars');

% 傾儖僑儕僘儉僙僋僔儑儞偺乽怴偟偄ROI儔儀儖偺掕媊乿偱乽car乿傪Rectangle偲偟偰嶌傞
%  奺夋憸偱幵椉傪僪儔僢僌偱埻傓
% 乽儔儀儖傪僄僋僗億乕僩乿偺乽儚乕僋僗儁乕僗傊乿傪慖戰
% 乽僄僋僗億乕僩懳徾偺曄悢柤乿傪positiveInstances丄
% 乽僄僋僗億乕僩宍幃乿傪table丄偲偟MATLAB偺儚乕僋僗儁乕僗傊

%% Neg夋憸偺僼僅儖僟偺巜掕
negFolder = 'I5_02_neg'
winopen(negFolder);     % 僼僅儖僟乕傪奐偄偰夋憸傪妋擣乮幚嵺偼悢昐枃埲忋偺夋憸傪巊梡乯

%% 妛廗偺幚峴 (妛廗寢壥偑丄XML宍幃偺僼傽僀儖偱惗惉偝傟傞)
%     暘椶婍儌僨儖僼傽僀儖丗  carDetector.xml  偑惗惉偝傟傞
%     幚嵺偼傕偭偲懡偔偺夋憸偱妛廗
trainCascadeObjectDetector('carDetector.xml', positiveInstances, negFolder);
        
%% 枹抦偺夋憸偺撉崬傒
I = imread('I5_02_IMG_5959_2a.jpg');
figure; imshow(I);

%% 暔懱擣幆僆僽僕僃僋僩偺掕媊丄幚峴 [俀峴偺MATLAB僐乕僪]
%    偙偙偱偼丄偁傜偐偠傔妛廗丒惗惉偟偨暘椶婍儌僨儖僼傽僀儖 I5_02_carDetector_20151015Bb.xml 傪巊梡
detector = vision.CascadeObjectDetector('I5_02_carDetector_20151015Bb.xml');
cars1 = step(detector, I)

%% 専弌偝傟偨幵偺埵抲偵丄巐妏偄榞偲僥僉僗僩傪捛壛
I2 = insertObjectAnnotation(I, 'rectangle', cars1, [1:size(cars1,1)], 'FontSize',24, 'LineWidth', 4);
imshow(I2);shg;

%% 暿偺夋憸偺撉崬傒 %%%%%%%%%%%%%%%%%%%%%%%%
I = imread('I5_02_DSC_3317a5.JPG');
figure; imshow(I);

%% 暔懱専弌幚峴媺蕚虝\帵
cars2 = step(detector, I)
I2 = insertObjectAnnotation(I, 'rectangle', cars2, [1:size(cars2,1)], 'FontSize',24, 'LineWidth', 12, 'Color','green');
imshow(I2);shg;

%% 僣乕儖偱専弌寢壥偺廋惓

% 僀儊乕僕儔儀儔乕偵撉傒崬傓偨傔偺groundTruth僆僽僕僃僋僩傪惗惉偡傞
imageFilenames = {[pwd, '\I5_02_IMG_5959_2a.jpg']; [pwd, '\I5_02_DSC_3317a5.jpg']};
dataSource = groundTruthDataSource(imageFilenames);
Cars = {cars1; cars2};
labelDefs = table({'car'},labelType('Rectangle'),'VariableNames',{'Name','Type'});
labelData = table(Cars,'VariableNames',names);
gTruth = groundTruth(dataSource,labelDefs,labelData);

% 乽儔儀儖傪僀儞億乕僩乿仺乽儚乕僋僗儁乕僗偐傜乿偱gTruth傪僀儞億乕僩
imageLabeler(imageDatastore(imageFilenames));

%% 擟堄偺敿帺摦傾儖僑儕僘儉偺捛壛
imageLabeler('I5_02_cars');

% 傾儖僑儕僘儉僙僋僔儑儞偺乽怴偟偄ROI儔儀儖偺掕媊乿偱乽car乿傪Rectangle偲偟偰嶌傞
% 乽傾儖僑儕僘儉偺捛壛乿偐傜乽傾儖僑儕僘儉偺僀儞億乕僩乿傪慖戰
% 乽I5_02_CarDetection.m乿傪慖戰偡傞
% 傾儖僑儕僘儉偺慖戰堦棗偵乽幵専弌婍乿偑捛壛偝傟傞偺偱慖戰偟丄乽帺摦壔乿傪僋儕僢僋
% 乽幚峴乿傪墴偟偰敿帺摦儔儀儕儞僌傪幚巤偡傞

%%
release(detector);

%% 廔椆

%%
% Copyright 2018 The MathWorks, Inc.