测量从立体相机到人脸的距离
加载立体声参数。
负载(“webcamsSceneReconstruction.mat”);
读这对立体图像。
i = imread()“sceneReconstructionLeft.jpg”);I2 = imread“sceneReconstructionRight.jpg”);
不扭曲图像。
I1 = undistortion timage (I1, stereparams . cameraparameters1);I2 = undistortion timage (I2, stereparams . cameraparameters2);
在两幅图像中检测一张脸。
faceDetector = vision.CascadeObjectDetector;face1 = faceDetector(I1);face2 = faceDetector(I2);
找到脸的中心。
Center1 = face1(1:2) + face1(3:4)/2;Center2 = face2(1:2) + face2(3:4)/2;
计算从相机1到人脸的距离。
point3d = triangulate(center1, center2, stereoParams);distanceInMeters = norm(point3d)/1000;
显示检测到的人脸和距离。
distanceAsString = sprintf(“% 0.2 f米”, distanceInMeters);I1 = insertObjectAnnotation(I1,“矩形”face1 distanceAsString,“字形大小”, 18);I2 = insertobjectnotation (I2;“矩形”face2 distanceAsString,“字形大小”, 18);I1 = insertShape(I1,“FilledRectangle”, face1);I2 = insertShape(I2,“FilledRectangle”, face2);imshowpair (I1、I2“蒙太奇”);