![](/img/trans.png)
[英]how to display the frame difference output of all the frames in video using matlab
[英]Frames missing while reading video frame by frame in matlab
该代码检测面部并将其裁剪并存储在数据库文件夹中。数据库文件夹中缺少面部图像11和12。 是什么原因?
clc;
clear all;
%read video file
obj=vision.VideoFileReader('basu_converted.avi');
%read frame by frame
for k=1:100
videoFrame = step(obj);
FaceDetect = vision.CascadeObjectDetector;%using viola jones algorithm
BB = step(FaceDetect,videoFrame);
figure(1),imshow(videoFrame)
for i = 1:size(BB,1)
rectangle('Position',BB(i,:),'LineWidth',3,'LineStyle','-','EdgeColor','r');
end
%crop and save detected face images
for i = 1:size(BB,1)
J= imcrop(videoFrame,BB(i,:));
I=rgb2gray(imresize(J,[292,376]));
filename = ['G:\matlab_installed\bin\database\' num2str(i+k*(size(BB,1))) '.jpg'];
imwrite(I,filename);
end
end
我注意到您对图像进行索引时出错。 BB
的大小可变,因此您不能使用它来线性化索引。 而不是num2str(i+k*(size(BB,1)))
我将使用一个计数器,该计数器在每次迭代时递增。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.