Android人脸检测API-存储的视频文件

我想使用Android Vision FaceDetector API对视频文件(例如,用户库中的MP4)执行面部检测/跟踪.我可以看到许多使用CameraSource类对直接来自相机的流(例如on the android-vision github)执行人脸跟踪的示例,但对于视频文件则什么也没有.

我尝试通过Android Studio查看CameraSource的源代码,但是它被混淆了,我无法在线看到原始代码.我认为使用相机和使用文件之间有许多共同点.大概我只是在Surface上播放视频文件,然后将其传递到管道.

或者,我可以看到Frame.Builder具有函数setimageData和setTimestampMillis.如果我能够以ByteBuffer的形式读取视频,该如何将其传递给FaceDetector API?我猜this question是类似的,但没有答案.同样,将视频解码为Bitmap帧,然后将其传递给setBitmap.

理想情况下,我不想将视频呈现到屏幕上,并且处理应以FaceDetector API所能达到的速度进行.

解决方法:

Alternatively I can see that Frame.Builder has functions setimageData and setTimestampMillis. If I was able to read in the video as ByteBuffer, how would I pass that to the FaceDetector API?

只需调用SparseArray< Face>.人脸= detector.detect(frame);必须像这样创建检测器:

FaceDetector detector = new FaceDetector.Builder(context)
   .setProminentFaceOnly(true)
   .build();

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...