问题标签 [android-vision]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - 尝试开始人脸检测时访问 ByteBuffer 时出错
我正在创建一个人脸检测应用程序。当我尝试启动人脸检测时,出现以下错误:
这是我的代码的一部分:
当我执行 mCameraSource.start() 时会显示错误,即使这样做时没有检测到错误并且应用程序不会崩溃,它只是在控制台上重复显示该错误。
java - 来自视觉 api 的条码扫描仪的预览尺寸
我正在使用来自 Google 的 Android Vision API 的条形码阅读器示例。预览大小似乎没有填满整个可用空间(我使用的是 Nexus 4,预览右侧有一个白色未使用的空间,大约是宽度的 1/3)。
我希望能够在各种设备上运行此示例,并始终让它填满整个可用空间。
所以我一直在玩的是:
有任何想法吗?
谢谢!
android - 带有视频流的 Android Vision 人脸检测
我正在尝试将人脸检测 api 集成到我从鹦鹉 bebop 无人机接收的视频流中。
流使用 MediaCodec 类 ( http://developer.android.com/reference/android/media/MediaCodec.html ) 解码,这工作正常。无需将解码的帧数据渲染到表面视图,我可以使用来自解码器的解码帧数据成功访问 ByteBuffer。
我还可以从解码器访问解码的图像对象(类https://developer.android.com/reference/android/media/Image.html),它们有一个时间戳,我得到以下信息:
- 宽度:640
- 身高:368
- 格式:YUV_420_888
我尝试做的第一件事是通过 Framebuilder (android/gms/vision/Frame.Builder) 为视觉 api (com/google/android/gms/vision/Frame) 生成 Frame 对象
这段代码没有给我任何错误,而且 googleVisFrame 对象不为空,但是当我调用 时googleVis.getBitmap()
,我得到null
. 随后,面部检测不起作用(我想是因为我的视野框架对象存在问题......)
即使这可行,我也不确定如何使用视觉 api 处理视频流,因为我找到的所有代码都演示了内部摄像头的使用。
如果你能指出我正确的方向,我将非常感激。
java - 使用 Android 的 Mobile Vision API 扫描二维码
我按照本教程学习了如何构建一个可以扫描 QR 码的 Android 应用程序。
这是完整的代码。我像这样使用等级添加了 Google Play 服务compile 'com.google.android.gms:play-services:7.8.0'
。
AndroidManifest.xml
activity_main.xml
MainActivity.java
我在运行 Android 4.4.2 的 HTC Desire 816 上对此进行了测试。但这似乎不起作用。相机视图处于活动状态,但当指向 QR 码时,它没有检测到任何东西。但也不会发生错误或崩溃。
我错过了什么吗?
java - 适用于 Android 的扫描仪(条形码)API 未检测到条形码
我想制作一个应用程序作为条形码扫描仪。我创建了一个名为 android vision 的条码扫描器 api
我可以启动应用程序并将相机放在条形码上。但日志只说:
11-20 11:21:29.353 20243-20243/com.google.android.gms.samples.vision.barcodereader D/条形码阅读器:未检测到条形码
谁能告诉我,为什么没有检测到条形码?
java - Google Mobile Vision:没有 CameraSource 的 FaceDetector 性能不佳
现在,我们的应用程序正在成功运行 Snapdragon SDK。我们正在尝试在我们的项目中实现 Vision 8.3.0 的 FaceDetector,以增加兼容设备的数量。我们不能使用 CameraSource,因为我们依靠自定义相机 + 表面来提供某些功能。我们希望尽可能多地重用代码,而 Snapdragon SDK 在我们当前的实现中表现出色。
工作流程如下:
1) 检索相机预览
2) 将传入的字节数组转换为位图(由于某种原因,我们还没有设法使用 ByteBuffers。提供并验证了图像大小、旋转和 NV21 图像格式,但没有找到人脸)。位图是已经在处理线程内部初始化的全局变量,以避免分配速度变慢。
3)通过receiveFrame馈送检测器
到目前为止的结果还不够好。即使我们禁用了地标和分类,检测也太慢(2-3 秒)且不准确。
问题是:是否可以在不使用前者的情况下复制 CameraSource + Detector 的性能?是否必须使用 CameraSource 才能使其与实时输入一起使用?
提前致谢!
编辑
按照下面的 pm0733464 建议,我尝试使用 ByteBuffer 而不是 Bitmap。这是我遵循的步骤:
从这里开始,字节数组的创建:
以这种方式构建框架会导致找不到人脸。但是,使用位图可以按预期工作:
android - 使用 Google Vision API 检测眨眼
我正在使用视觉 API 进行人脸检测,现在我想实现眨眼,但视觉 api 在一只眼睛关闭时仍能检测到眼睛。
请帮助我如何实现眨眼功能。
android - Google Vision API:支持 QRCode 检测器上的负色
我正在使用 Vision API 在我的应用程序中开发 QRCode 阅读器。我意识到 API 无法检测负色。我的客户有数千张蓝色背景上带有白色二维码的卡片。
附件是 2 个二维码的示例。第一个效果很好(默认颜色)。第二个没有(蓝底白字)。一些商业 QRCode 阅读器能够阅读它,但我不知道他们是如何做到的。
我真的想避免使用第三方库和应用程序来做到这一点。到目前为止,我在相机上使用了 NEGATIVE 效果。但这是我也想避免的解决方法。
即时反转位图非常慢并且是不可能的。
我在某处读到,在 QRCode 规范中检测负色是可选的,而且 Google Vision API 似乎不支持它。建议?
感谢您的关注。
android - 使用 Google Vision API 进行面部检测显示在 VideoView 上
我一直在我的应用程序中使用来自 Google Play Services 的 Vision API,并且在我的设备(带有 Android 5.1 的 Nexus 7 2012 和带有 android 4.2.2 的更便宜的平板电脑)中一切正常,但在某些生产设备中却没有.
我们的视觉 api 与面部检测框架在我们的应用程序打开时一直运行,因此当面部检测检测到他时,应用程序会更改内容。
问题是当我们在显示一些视频VideoView
的同时人脸检测正在工作时,因为我们注意到某种“幽灵”出现在 上面VideoView
,我们已经看到这个“幽灵”是预览人脸检测是实时的。
解释起来很复杂,所以我们录制了一个视频来更好地说明这个问题:视频
在这个时候,我已经尝试过这个东西:
改变 的尺寸
.setRequestedPreviewSize(int, int)
,我们已经看到,基于这个尺寸,“幽灵”也改变了它的尺寸,所以我们意识到预览尺寸是导致问题的那个。.setRequestedPreviewSize(int, int)
从内部删除对的调用CameraSource.Builder
,它默认其尺寸为 1024x768,正如您所见,CameraSource
“幽灵”用它填充整个屏幕。尝试另一个框架来播放视频,删除
VideoView
和使用另一个框架TextureView
也无济于事,它仍在显示鬼魂。使用不同的视频格式也无济于事
我认为当多个 SurfaceView 或 SurfaceTexture 同时工作时,这可能是某种问题,一个在另一个之上,但这是我第一次使用面向多媒体的应用程序。
有人知道可能是什么问题?
提前致谢。
编辑
只是为了澄清我发布我使用的代码。
这是我在视频中显示的应用程序中使用的方法:
我使用一种风格来玩不同类型的东西,这个项目只是为了让这个功能的测试更容易。
调用该onResume()
方法时,我从实例加载视频File
并启动CameraSource
实例
只是为了澄清:
我们使用 FaceTracker 只是为了检测人脸,并使用它
public void onNewItem(int id, Face face)
和public void onMissing(Detector.Detections<Face> detections)
要显示的 xml 布局
VideoView
是: