该楼层疑似违规已被系统折叠隐藏此楼查看此楼
我是matlab新手,最近写个用摄像头进行人脸识别的程序,遇到两个问题:
1)我是用的CascadeObjectDetector对象识别的人脸,但是程序有错,我搞不明白为什么有错,据我观察bbox,也就是应该识别出来人脸的框,每次都获取不到数据,错误提示如下:
Error using ShapeInserter/step
The Pts input data type must be integer.
Error in USB1 (line 19)
Frame=step(boxInserter,Frame,bbox);
2)每次这程序运行一个后,我想再运行一次,它就提示摄像头已使用,错误提示如下:
Error in USB1 (line 4)
vid=videoinput('winvideo', 1,'MJPG_320x240');
我比较小白,希望大神可以指导下,3Q,下面是我的代码:
clear all;
clc;
faceDetector = vision.CascadeObjectDetector();
vid=videoinput('winvideo', 1, 'MJPG_320x240');
src=getselectedsource(vid);
vid.FramesPerTrigger = inf;
src.FrameRate = '30.0000';
videoPlayer=vision.VideoPlayer;
preview(vid);
start(vid);
i=0;
while(i<300)
Frame=getsnapshot(vid);
%%%%%每一帧处理开始
bbox=step(faceDetector,Frame);
boxInserter=vision.ShapeInserter('BorderColor','Custom',...
'CustomBorderColor',[255 255 0]);
Frame=step(boxInserter,Frame,bbox);
%%%%%处理结束
step(videoPlayer,Frame);
i=i+1;
end
stoppreview(vid);
stop(vid);
delete(vid);
clear vid;
如果觉得《matlab摄像头实时人脸检测 一个关于摄像头实时人脸检测的程序》对你有帮助,请点赞、收藏,并留下你的观点哦!