相机人脸检测COORDS屏幕COORDS(Camera face detection coords

2019-10-19 10:47发布

我最近开始使用Android的摄像头API播放。 而我使用人脸检测和它的回调setFaceDetectionListener 。 我有麻烦试图了解如何将转换faces[0].rect.centerX();faces[0].rect.centerY()的东西,我可以使用在屏幕上像走动该点为中心的面的图像。

谁能帮助我了解如何从相机给我的东西可以用来设置我的活动元素的坐标系统转换。

Answer 1:

从文档

(-1000,-1000)表示的摄像机视场的左上方,以及(1000,1000)表示视场的右下方。

因此,摆在筛选COORDS(伪):

screenX = (coord.x +1000) * screen.width / 2000
screenY = (coord.y +1000) * screen.height / 2000


Answer 2:

使用此代码(假设你有一个宽度和高度整型变量):

LayoutParams params = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
params.setMargins(faces[0].rect.centerX()-width/2,faces[0].rect.centerY()-height/2, 0,0);

......并获得宽度和高度:

public void onWindowFocusChanged(boolean hasFocus){
    width=image.getWidth();
    height=image.getHeight();
}


文章来源: Camera face detection coords to screen coords