How to crop images and save it to matrix after vision.For​egroundDet​ector

1 view (last 30 days)
Hello. Vision.ForegroundDetector is so amazing!
Could you let me know how to get several images inbox as a matrix?
I want to save these images as matrix.
I want to use several images like this. How can I crop this like image?
I am using this code.
videoSource = VideoReader('shahar_run.avi');
detector = vision.ForegroundDetector(...
'NumTrainingFrames', 5, ...
'InitialVariance', 30*30);
blob = vision.BlobAnalysis(...
'CentroidOutputPort', false, 'AreaOutputPort', false, ...
'BoundingBoxOutputPort', true, ...
'MinimumBlobAreaSource', 'Property', 'MinimumBlobArea', 250);
shapeInserter = vision.ShapeInserter('BorderColor','White');
videoPlayer = vision.VideoPlayer();
while hasFrame(videoSource)
frame = readFrame(videoSource);
fgMask = detector(frame);
bbox = blob(fgMask);
out = shapeInserter(fgMask,bbox);
videoPlayer(out);
pause(0.1);
end

Accepted Answer

Ameer Hamza
Ameer Hamza on 22 Mar 2020
Check the following code
videoSource = VideoReader('denis_wave2.avi');
detector = vision.ForegroundDetector(...
'NumTrainingFrames', 5, ...
'InitialVariance', 30*30);
blob = vision.BlobAnalysis(...
'CentroidOutputPort', false, 'AreaOutputPort', false, ...
'BoundingBoxOutputPort', true, ...
'MinimumBlobAreaSource', 'Property', 'MinimumBlobArea', 50);
shapeInserter = vision.ShapeInserter('BorderColor','White');
videoPlayer = vision.VideoPlayer();
bounding_boxes = {};
while hasFrame(videoSource)
frame = readFrame(videoSource);
fgMask = detector(frame);
bbox = blob(fgMask);
for i=1:size(bbox, 1)
x = bbox(i, :);
bounding_boxes{end+1} = fgMask(x(2):sum(x([2 4])), x(1):sum(x([1 3])));
end
out = shapeInserter(fgMask,bbox);
videoPlayer(out);
pause(0.1);
end
The bounding_boxes is a cell array and its each element is a cropped image. You can check the output as
imshow(bounding_boxes{1})
imshow(bounding_boxes{2})
  6 Comments

Sign in to comment.

More Answers (0)

Categories

Find more on Computer Vision Toolbox in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!