Android 视觉人脸检测与视频流

2024-04-14

我正在尝试将人脸检测 API 集成到从 Parrot Bebop 无人机接收的视频流中。

使用 MediaCodec 类对流进行解码(http://developer.android.com/reference/android/media/MediaCodec.html http://developer.android.com/reference/android/media/MediaCodec.html)并且这工作正常。我可以使用来自解码器的解码帧数据成功访问 ByteBuffer,而不是将解码的帧数据渲染到表面视图。

我还可以访问解码的图像对象(类https://developer.android.com/reference/android/media/Image.html https://developer.android.com/reference/android/media/Image.html)从解码器,它们有一个时间戳,我得到以下信息:

  • 宽度:640
  • 身高:368
  • 格式:YUV_420_888

我尝试做的第一件事是通过 Framebuilder (android/gms/vision/Frame.Builder) 为 Vision api (com/google/android/gms/vision/Frame) 生成 Frame 对象

...
 ByteBuffer decodedOutputByteBufferFrame = mediaCodec.getOutputBuffer(outIndex);
Image image =  mediaCodec.getOutputImage(outIndex);
...
decodedOutputByteBufferFrame.position(bufferInfo.offset);
decodedOutputByteBufferFrame.limit(bufferInfo.offset+bufferInfo.size);
frameBuilder.setImageData(decodedOutputByteBufferFrame, 640, 368,ImageFormat.YV12);
frameBuilder.setTimestampMillis(image.getTimestamp());
Frame googleVisFrame = frameBuilder.build();

这段代码不会给我任何错误,并且 googleVisFrame 对象不为空,但是当我调用时googleVis.getBitmap(), I get null。随后,面部检测不起作用(我想是因为我的视觉框架对象存在问题......)

即使这可行,我也不确定如何使用视觉 API 处理视频流,因为我找到的所有代码都演示了内部摄像头的使用。

如果您能为我指出正确的方向,我将非常感激。


None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android 视觉人脸检测与视频流 的相关文章

随机推荐

  • 如何从控制器运行 symfony 2 run 命令

    我想知道我怎样才能跑交响乐2来自浏览器查询或控制器的命令 这是因为我没有任何可能托管来运行它 并且每个 cron 作业都是由管理员设置的 我什至没有启用exec 因此 当我想测试它时 我必须将命令中的所有内容复制到某个测试控制器 这不是最佳
  • Hive Full Outer Join为相同的Join Key返回多行

    我正在对同一列上的 4 个表进行完全外连接 我想为连接列中的每个不同值仅生成 1 行 输入是 employee1 employee1 personid employee1 name 111 aaa 222 bbb 333 ccc
  • Android:本机线程与主线程同步

    在我的 android 应用程序中 我有一个从本机线程到 Java 代码的回调 需要与主 UI 线程同步 目的是 UI 线程根据从本机线程返回的信息显示选项列表 在用户选择一个选项之前 本机线程需要阻塞 用户选择一个选项后 本机线程读取该值
  • 基于 Q3DScatter 的自定义图表,QCustom3DItem 运行缓慢

    我想制作一个带条形的 3D 图表 条形颜色取决于其大小 两个都Qt 条形图和散点图类型 https doc qt io qt 5 qtdatavisualization overview html接近我正在寻找的东西 我最终创建了一个基于的
  • 将 .odt .doc .ods 文件转换为 .txt 文件

    我想转换所有 odt doc xls pdf文件到 txt files 我想使用 shell 脚本或 perl 脚本将这些文件转换为文本文件 有一个用于 odt 文件和类似文件的程序 odt2txt http packages debian
  • 带 GPU 的 Lightgbm 分类器

    model lgbm LGBMClassifier n estimators 1250 num leaves 128 learning rate 0 009 verbose 1 使用 LGBM 分类器 现在有没有办法通过 GPU 来使用它
  • 将社交登录(使用 Google 登录)添加到现有电子邮件/密码应用程序和数据库的最佳方法是什么?

    我想将谷歌登录集成到已有帐户注册和登录的应用程序中 我遵循了一些 YouTube 教程 现在我的前端可以通过 google 进行工作登录 成功登录后 它会返回一个 JWT 解码后 我会得到一个对象 其中包含电子邮件 姓名 pfp 和其他一些
  • C# 重写实例方法

    所以基本上我有一个对象 它接受实例并将它们添加到列表中 每个实例都使用虚拟方法 创建实例后我需要重写这些方法 我将如何覆盖实例的方法 你不能 您只能在定义类时重写方法 最好的选择是使用适当的Func委托作为占位符并允许调用者以这种方式提供实
  • 确定泛型函数调用了哪个函数

    我想知道如何快速找到特定对象的通用函数调用的特定函数 例子 library spatial data redwood K lt Kest redwood plot K 这不是一个普通的情节 这是一个为Kest 目的 因此 为了调查以找到所使
  • 定义引发异常的 lambda 表达式

    如何编写相当于以下内容的 lambda 表达式 def x raise Exception 以下行为是不允许的 y lambda raise Exception 给 Python 换肤的方法不止一种 y lambda for in thro
  • 在屏幕中间创建可滚动选项卡的最佳方法?

    当您使用个人资料时 Twitter 的移动应用程序在屏幕中间有一个可滚动的选项卡 当您单击屏幕中间的可滚动选项卡时 显示您的个人资料信息等的屏幕上半部分不会改变 推文和回复 媒体 等 我想知道如何创建这个 让一半的屏幕保持不变 然后有改变中
  • boost::uuids::random_generator 和多线程的唯一性

    当我使用单线程生成随机数时 生成的 4M uuid 中没有重复项 但如果我使用两个线程生成每个 1M 我会看到大约 16 20 个重复项 可能是什么原因 class TestUuid public std string GenerateUU
  • History.js 和标头重定向

    我在使用history js 时遇到问题 我不知道如何解决 在我正在开发的网站上 我们使用 History js 在页面之间移动 如果您单击任何链接 history js 就会通过 AJAX 加载 URL 更新 URL 并为内容创建过渡效果
  • gnuplot - 两个图的交集

    我在用gnuplot绘制来自两个单独的 csv 文件的数据 在此链接中找到 https drive google com open id 0B2Iv8dfU4fTUZGV6X1Bvb3c4TWs https drive google com
  • 未检测到 iOS 应用程序 URL

    我已经为我的 iOS 应用程序创建了一个自定义应用程序 URL URL 格式类似于 myappname texttobeparsed 当我将 URL 粘贴到 Safari 中时 我的应用程序会打开并正确处理该 URL 效果很好 问题是 iM
  • 如何理解Python中的i和-i? python 中的位操作

    我发现Python中的 表示基于位表达式的 与 运算 最近 我发现了一个非常聪明的代码 其中一行类似于 i i 其中 i 是一个整数 如何理解 i i 的结果 另外 python如何处理负整数 i 进行位操作 i i 清除所有位 1 但最后
  • 聚合物示例代码在 Firefox 中不起作用

    我正在尝试 Google 提供的示例代码https www polymer project org 1 0 start first element intro https www polymer project org 1 0 start
  • 使用node.js fs.writeFile写入二进制数据以创建图像文件

    我正在尝试用 node js 编写画布数据fs writeFile https nodejs org api fs html fs fs writefile file data options callback作为二进制文件 JPEG 文件
  • WebSocket 连接到 TIdHTTPServer,握手问题

    我正在使用 C Builder 10 1 Berlin 编写一个简单的 WebSocket 服务器应用程序 该应用程序在端口上侦听从 Web 浏览器 例如 Google Chrome 发送的一些命令 在我的表单上 我有一个 TMemo TB
  • Android 视觉人脸检测与视频流

    我正在尝试将人脸检测 API 集成到从 Parrot Bebop 无人机接收的视频流中 使用 MediaCodec 类对流进行解码 http developer android com reference android media Med