【发布时间】:2015-07-23 16:38:18
【问题描述】:
您能帮我更改此代码以使用文件吗?
我做了一些更改,但得到了Undefined function 'snapshot' for input arguments of type 'VideoReader'. 错误。有没有其他选择
snapshot视频文件功能?
clear classes;
%% Instantiate video device, face detector, and KLT object tracker
%% vidObj = webcam;
vidObj = VideoReader('D:\Movie\a\tork\12 (71).mp4');
faceDetector = vision.CascadeObjectDetector(); % Finds faces by default
tracker = MultiObjectTrackerKLT;
frame = snapshot(vidObj);
frameSize = size(frame);
videoPlayer = vision.VideoPlayer('Position',[200 100 fliplr(frameSize(1:2)+30)]);
bboxes = [];
while isempty(bboxes)
framergb = snapshot(vidObj);
frame = rgb2gray(framergb);
bboxes = faceDetector.step(frame);
end
tracker.addDetections(frame, bboxes);
frameNumber = 0;
keepRunning = true;
disp('Press Ctrl-C to exit...');
while keepRunning
framergb = snapshot(vidObj);
frame = rgb2gray(framergb);
if mod(frameNumber, 10) == 0
bboxes = 2 * faceDetector.step(imresize(frame, 0.5));
if ~isempty(bboxes)
tracker.addDetections(frame, bboxes);
end
else
% Track faces
tracker.track(frame);
end
displayFrame = insertObjectAnnotation(framergb, 'rectangle',...
tracker.Bboxes, tracker.BoxIds);
displayFrame = insertMarker(displayFrame, tracker.Points);
videoPlayer.step(displayFrame);
frameNumber = frameNumber + 1;
end
%% Clean up
release(videoPlayer);
是否可以轻松做到这一点?
【问题讨论】:
标签: matlab image-processing video matlab-cvst