I've found a program online that is able to detect red through live image and i was able to stop the live video after a certain amount of time. However i would like to send the data for the red that is captured for further commands. Would using 'stats' in the code below be able to send the captured red data for further commands?
vid = videoinput('winvideos', 1);set(vid, 'FramesPerTrigger', Inf);set(vid, 'ReturnedColorSpace', 'rgb');vid.FrameGrabInterval = 1;start(vid)while (vid.FramesAcquired<=10) data = getsnapshot(vid); diff_im = imsubtract(data(:, :, 1 ), rgb2gray(data)); diff_im = medfilt2(diff_im, [3 3]); diff_im = im2bw(diff_im, 0.18); diff_im = bwareaopen(diff_im, 300); bw = bwlabel(diff_im, 8); stats = regionprops(bw,'BoundingBox', 'Centroid'); imshow(data) hold on for object = 1:length(stats) bb = stats(object).BoundingBox; bc = stats(object).Centroid; rectangle('Position', bb, 'EdgeColor', 'r', 'LineWidth', 2) plot(bc(1)+15, bc(2), '-m+') end hold off end stop(vid); flushdata(vid); clear all
Best Answer