gpt4 book ai didi

android - 人脸检测API-坐标

转载 作者:行者123 更新时间:2023-11-29 17:17:01 28 4
gpt4 key购买 nike

所以我正在使用 API 来检测图像中的人脸,到目前为止它对我来说效果很好。然而,我一直无法弄清楚如何将图像裁剪到脸上。我知道如何裁剪位图,但它需要获取位图中脸部的左上角位置以及宽度和高度。当我使用

查询左上角位置时
    points = face.getPosition();

Bitmap bmp = Bitmap.createBitmap(bit,(int)points.x,(int)(-1.0*points.y),(int)face.getWidth(),(int)face.getHeight());

但是当我查看点时,我注意到 y 是 -63.5555,x 是 235.6666;我不明白为什么会有负 y 坐标。我做了一些调试并查看了面部对象的内部;我发现它包含一个已经具有正 x 和 y 坐标的 PointF 对象。那么为什么在这种情况下返回负 y 坐标?

最佳答案

边界框估计头部的尺寸,即使它在照片中可能不完全可见。如果面部被图像的顶部或左侧裁剪,则坐标可能为负(例如,头顶被裁剪掉图片的顶部,导致 y 坐标大于 0)。

您在调试中看到的差异是由于实现在内部使用头部中心位置来表示位置(大约在双眼之间的中点),但 API 将其转换为左上角为方便起见,调用 getPosition 时的位置。

另请注意,边界框不一定是脸部的紧密边界。如果您想要更紧密的配合,您应该启用地标检测并计算相对于返回的地标的所需裁剪级别。

关于android - 人脸检测API-坐标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38449771/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com