該樓層疑似違規已被系統折疊 隐藏此樓檢視此樓
我是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;