文档

测量从立体相机到人脸的距离

加载立体声参数。

负载(“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“蒙太奇”);