У меня следующий вопрос. Я работаю с Matlab 2016. Я хочу обнаружить лица в видеофайле, используя алгоритм Виолы-Джонса. Когда я пытаюсь ввести видеофайл в оператор step
, я получаю следующую ошибку:
Error using
vision.CascadeObjectDetector/validateInputsImpl
(line 330)
Expected input number 2 to be
one of these types:
uint8, uint16, double, single,int16
Instead its type was
vision.VideoFileReader.
Error in VJ1_video (line 12)
bboxes = step(faceDetector, videoFReader);
Я так понимаю, что каким-то образом тип VideoFileReader должен быть преобразован в один из типов: uint8, uint16, double, single, int16. Но я не понимаю, как это можно сделать. Скажи мне, пожалуйста. Вот мой программный код:
clear all;
%Load the video using a video reader object
videoFReader = vision.VideoFileReader('D:\465.avi');
%Create a detector object.
faceDetector = vision.CascadeObjectDetector;
%Detect faces.
bboxes = step(faceDetector, videoFReader);
%Annotate detected faces
IFaces = insertObjectAnnotation(videoFReader, 'rectangle', bboxes, 'Лицо');
%Create a video player object to play the video file.
videoPlayer = vision.VideoPlayer;
%Use a while loop to read and play the video frames.
while ~isDone(videoFReader)
videoFrame = videoFReader();
videoPlayer(videoFrame);
end
%Release the objects.
release(videoPlayer);
release(videoFReader);