【问题标题】:android face detection coordinateandroid人脸检测坐标
【发布时间】:2013-05-15 10:41:00
【问题描述】:

我正在使用 Android 的 api 14 Camera Face Detection 在相机检测到的面部上绘制矩形。 它适用于大多数设备(Galaxy Nexus、S4、S Note 2)。但在 S3 SGH-T999 和 SGH-I747(Tmobile 和 AT&T 锁定版本)中,返回的 Face.rect 对象超出了 [-1000, 1000] 的正常范围。 具体来说,Face.rect.left = -1165(或其他数字

引用文档 [Camera.Face.rect]: “坐标可以小于 -1000 或大于 1000。但至少有一个顶点在 (-1000, -1000) 和 (1000, 1000) 之间。”

这是我使用 [link here] 的方法: onFaceDetection(android.hardware.Camera.Face[], android.hardware.Camera)

其他数据:

  • 应用设置为仅纵向
  • 应用仅使用前置摄像头

我的问题是:

  1. 有人遇到过同样的问题吗?
  2. 这个小于-1000的坐标是什么意思?
  3. 如何解决此问题以便在检测到的人脸上正确绘制正确的矩形?

我环顾了一个星期,没有发现其他用户提出的这个问题。 同样,我的应用在这两个设备之外的其他设备上也能正常工作。

提前致谢。

【问题讨论】:

  • 你能帮我画出正确的矩形吗?我无法使用从面部检测获得的坐标转换为 1280x720 屏幕。

标签: android camera detection


【解决方案1】:

我面临着类似的问题。我发现,从onFaceDetection回调中获得的人脸矩形来自不同安卓手机的不同坐标系。我在三星和 Micromax 中测试了我的应用程序。它遵循 android 文档中的矩形坐标值(即 -1000 到 1000)。

当我在 Sony xperia L 和 Sony xperia M 上测试我的应用程序时,我观察到它不遵循 android 文档中的坐标。而是遵循coordinates which has origin (0,0) at right top corner of the screen for portrait 模式。

当我据此应用矩阵时,我发现了完美的矩形绘图。这使我对android堆栈进行了更多研究。我相信是android手机的供应商操纵矩形坐标而不是android原始堆栈。

我的问题是有什么方法可以找出得到的矩形在绘制矩形之前遵循哪个坐标系?

【讨论】:

  • 嗨@sam18,您是否找到了从相机人脸检测 API 映射坐标的标准方法?
猜你喜欢
  • 1970-01-01
  • 2016-03-17
  • 2013-09-24
  • 2019-06-18
  • 2014-04-06
  • 1970-01-01
  • 2019-02-27
  • 2011-10-26
  • 2012-03-23
相关资源
最近更新 更多