- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我得到了这个简单的函数
private PointF getFaceCenter(Bitmap faceBitmap){
PointF faceCenter = new PointF(faceBitmap.getWidth() / 2, faceBitmap.getHeight() / 2);
Face[] faces = new Face[1];
mFaceDetector = new FaceDetector(
faceBitmap.getWidth(), faceBitmap.getHeight(), 1);
int detected = mFaceDetector.findFaces(faceBitmap, faces);
if (detected > 0) {
faces[0].getMidPoint(faceCenter);
}
return faceCenter;
}
我用它来获得面部中心,这样我就可以知道在哪里画画。我注意到我的 UI 线程在重新绘制时一直卡住..
所以我将此计算放在 onMeasure
上,但每次调用 UI 时 onMeasure
仍然变慢..
我开始分析:
我看到 mFaceDetector.findFaces
占用了 100% 的 CPU 时间!!我删除了人脸检测代码,我的应用开始运行得非常快。
我做错了什么吗?
有什么解决方法吗?
最佳答案
您正在主线程上执行此操作。处理 UI 事件的同一线程。这就是 UI 阻塞的原因。尝试使用不同的线程进行计算。 (参见 AsyncTask android 文档)
至于 cpu 使用 - 它必须处理大量数据(特别是如果你有 10MPics 相机:))所以这是正常的。
下一个陷阱是当前实现仅适用于 RGB_565(同样是 android 文档),因此可能值得检查位图配置
编辑:
我刚刚在 Galaxy S3 上检查过这个 - 对于后置摄像头拍摄的照片,分析照片需要大约 16 秒。
关于Android FaceDetector.findFaces 100% CPU 时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16609900/
我正在使用 ML 人脸检测器:https://developers.google.com/ml-kit/vision/face-detection/android#kotlin_2 我从 Camera
这个问题在这里已经有了答案: What does a "Cannot find symbol" or "Cannot resolve symbol" error mean? (18 个答案) 关闭
我正在使用 OpenCV 2.3.1 中的 GPU 模块试用基于 Haarcascade 的 FaceDetection。 我的代码正在编译,有时它会显示初始帧,并在输出帧上绘制一个或多个 ROI 矩
所以我正在使用 facedector 内置的机器人检测和确定位图中人脸的位置。现在它可以工作并会告诉我:置信度、eyesDistance 和中点,但每当我尝试获取姿势时,无论我尝试使用什么图像,它总是
这是我为运行 android 的人脸检测器而编写的代码。不幸的是,它没有找到任何东西。我已将它放在 onPreviewFrame(data, camera) 中。 Camera.Parameters
我正在 Android 上实现人脸跟踪器,作为文献研究,我想确定 Android 的 FaceDetector 的底层技术。 简单地说:我想了解 android.media.FaceDetector
应用程序抛出此错误 Error Loading module com.google.android.gms.dynamite.DynamiteModule$LoadingException: No a
我正在尝试保存 FaceDetector.Face 数组,以便在屏幕旋转时,不必再次执行面部检测。该应用程序似乎比正常轮换需要更长的时间。但是,我无法将 faces 数组存储在 onSavedInst
Android 4.2,带 Intel 加速的 Windows 模拟器。 我使用这段代码和不同的图片总是没有人脸检测: BitmapFactory.Options BitmapFactoryOptio
我在 Android 中使用 android.media.FaceDetector 进行人脸检测时遇到问题我尝试使用此代码检测人脸: BitmapFactory.Options options = n
我正在尝试从相机图片中检测人脸。 但它总是以以下错误结束: 错误:返回 0 个面孔,因为 btk_FaceFinder_putDCR 中存在错误。 我的代码: FaceDetector fd = ne
我正在尝试获取 FaceDetector 检测到的人脸的欧拉角。 这是我用来输出到 Logcat 的内容: Log.v("debug", " X: " + face.pose(Face.EULER_X
我得到了这个简单的函数 private PointF getFaceCenter(Bitmap faceBitmap){ PointF faceCenter = new PointF(
我想在 android 中使用 FaceDetector。 我用位图图像尝试了 FaceDetector,它工作正常。 (借助于:http://code.tutsplus.com/tutorials/
我正在尝试制作一个 Android 应用程序,当它检测到人脸时会拍一张照片。我试图关注 Google's Mobile Vision FaceDetector Pipeline但我过不去 FaceDe
我正在尝试获取 FaceDetector 检测到的人脸的欧拉角。 这是我用来输出到 Logcat 的内容: Log.v("debug", " X: " + face.pose(Face.EULER_X
背景 谷歌几个月前发布了一个新的 API 来检测位图上的人脸: http://android-developers.blogspot.co.il/2015/08/face-detection-in-g
我正在尝试构建一个可以检测设备相机拍摄的照片中面孔数量的应用程序。到目前为止,我的代码如下所示。通过研究此处的问题,我认为这可能是图片分辨率对于 FaceDetector 而言太差的问题,但如果是这样
简而言之:我如何使用 facedetector 坐标和大小进行图像操纵器裁剪?我想从照片中裁剪脸部。 解释; 我使用带有面部检测功能的 expo-camera。它工作得很好。人脸检测器给出输出对象
我想确定眼睛之间的距离(以像素为单位)。我正在使用下面的代码来计算距离。 但我不这么认为,它以像素为单位返回距离。 public void onFaceDetection(Face[] faces,
我是一名优秀的程序员,十分优秀!