【发布时间】:2019-10-21 23:11:34
【问题描述】:
我想检测眨眼,眨眼后我想捕捉帧并将其保存为位图。
我使用 Firebase Ml 套件示例 link 进行面部重新定位,以检测眨眼及其工作,但它正在暂停视频帧,因为它正在处理帧以检测中间的人脸。
我想要一个解决方案,可以通过高质量视频检测眨眼,然后想要捕获帧。
任何帮助都将不胜感激。
【问题讨论】:
标签: android
我想检测眨眼,眨眼后我想捕捉帧并将其保存为位图。
我使用 Firebase Ml 套件示例 link 进行面部重新定位,以检测眨眼及其工作,但它正在暂停视频帧,因为它正在处理帧以检测中间的人脸。
我想要一个解决方案,可以通过高质量视频检测眨眼,然后想要捕获帧。
任何帮助都将不胜感激。
【问题讨论】:
标签: android
据我了解,您已经破解了密码,一切正常。您也可以得到想要的结果。手头的唯一问题是使用主/后台线程概念有效地完成整个任务,这样您的代码就不会冻结应用程序 UI。
由于您没有提供任何应用程序的代码参考,我假设您已使用 Kotlin 作为您的应用程序的编程语言。 Kotlin 使用 coroutines 提供了一种出色且简单的方式来执行后台任务。
在您的应用中使用协程的步骤(使用 anko):
build.gralde:implementation "org.jetbrains.anko:anko-coroutines:$anko_version"
有关此库的最新版本,请参阅 documentation。
doAsync {
// do background task such as computations here
uiThread {
// after the background task is completed, and you have some results, interact with the UI here to show the results to the user.
}
}
请认真尝试此解决方案,我相信您的问题会得到解决。几个月前,我制作了一个类似的应用程序模块,我需要实时处理来自相机馈送的帧并显示结果。这是我最终使用的解决方案。它快速、高效且精确。
【讨论】:
kotlin doAsync { uiThread { doAsync { uiThread { } } } }