0
我有以下問題。 我正在使用matlab 2016. 我想使用Viola-Jones算法來檢測視頻文件中的人臉。 當我嘗試在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,雙,單身,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);