Info
此问题已关闭。 请重新打开它进行编辑或回答。
Index exceeds matrix dimensions
1 次查看(过去 30 天)
显示 更早的评论
clear all;
C = webcamlist;
if length(C)>2
fprintf('All three WebCam is Working' );
else
fprintf('Not All three WebCam is Working' );
end
load('webcamsSceneReconstruction.mat');
vid1 = videoinput('macvideo', 1);
vid2 = videoinput('macvideo', 2);
start([vid1 vid2]);
img1 = getsnapshot(vid1);
img2 = getsnapshot(vid2);
imwrite(img1,'sceneReconstructionLeft.jpg');
imwrite(img2,'sceneReconstructionRight.jpg');
I1 = imread('sceneReconstructionLeft.jpg');
I2 = imread('sceneReconstructionRight.jpg');
I1 = undistortImage(I1,stereoParams.CameraParameters1);
I2 = undistortImage(I2,stereoParams.CameraParameters2);
faceDetector = vision.CascadeObjectDetector;
face1 = step(faceDetector,I1);
face2 = step(faceDetector,I2);
center1 = face1(1:2) + face1(3:4)/2;
center2 = face2(1:2) + face2(3:4)/2;
point3d = triangulate(center1, center2, stereoParams);
distanceInMeters = norm(point3d)/1000;
distanceAsString = sprintf('%0.2f', distanceInMeters);
I1 = insertObjectAnnotation(I1,'rectangle',face1,distanceAsString,'FontSize',18);
I2 = insertObjectAnnotation(I2,'rectangle',face2, distanceAsString,'FontSize',18);
I1 = insertShape(I1,'FilledRectangle',face1);
I2 = insertShape(I2,'FilledRectangle',face2);
%imshowpair(I1, I2, 'montage');
Why [am] i getting this error in both center1 and center2 and any way to prevent this error i have to represent this to my external
0 个评论
回答(1 个)
Azzi Abdelmalek
2016-5-6
Check the sizes of the variables face1 and face2
13 个评论
Walter Roberson
2018-1-23
Cascade object detection relies on patterns that are not certain to be present even if there is s face in the input images, and there is no certainty that the input has a face at all. The code is wrong for not testing to be sure that a face was detected. The code is also wrong for the case where more than one face is detected.
此问题已关闭。
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!