imagepath = './train';
Samples = [];
for k=1:19
I = imread(sprintf('%s/%03d.png',imagepath,k)); % read files into RGB
R = I(:,:,1);
G = I(:,:,2);
B = I(:,:,3);
</span>%<span style="color: #000000;"> Collect samples
disp(</span><span style="color: #800000;">''</span><span style="color: #000000;">);
disp(</span><span style="color: #800000;">'</span><span style="color: #800000;">INTRUCTION: Click along the boundary of the ball. Double-click when you get back to the initial point.</span><span style="color: #800000;">'</span><span style="color: #000000;">)
disp(</span><span style="color: #800000;">'</span><span style="color: #800000;">INTRUCTION: You can maximize the window size of the figure for precise clicks.</span><span style="color: #800000;">'</span><span style="color: #000000;">)
figure(</span><span style="color: #800080;">1</span>), mask =<span style="color: #000000;"> roipoly(I);
figure(</span><span style="color: #800080;">2</span>), imshow(mask); title(<span style="color: #800000;">'</span><span style="color: #800000;">Mask</span><span style="color: #800000;">'</span><span style="color: #000000;">);
sample_ind </span>= find(mask > <span style="color: #800080;">0</span>); % <span style="color: #0000ff;">select</span><span style="color: #000000;"> marked pixels
R </span>=<span style="color: #000000;"> R(sample_ind);
G </span>=<span style="color: #000000;"> G(sample_ind);
B </span>=<span style="color: #000000;"> B(sample_ind);
Samples </span>= [Samples; [R G B]]; %<span style="color: #000000;"> insert selected pixels into samples
disp(</span><span style="color: #800000;">'</span><span style="color: #800000;">INTRUCTION: Press any key to continue. (Ctrl+c to exit)</span><span style="color: #800000;">'</span><span style="color: #000000;">)
pause
end
save('Samples.mat', 'Samples'); % save the samples to file
imagepath = './train';
for k=1:19
I = imread(sprintf('%s/%03d.png',imagepath,k));
[segI, loc] = detectBall(I);
figure, imshow(segI); hold on;
plot(loc(1), loc(2), '+b','MarkerSize',7);
disp('Press any key to continue. (Ctrl+c to exit)')
pause
end