首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在中切换到Camera2

在中切换到Camera2
EN

Stack Overflow用户
提问于 2016-06-01 04:24:43
回答 3查看 3.2K关注 0票数 12

我看到了在android中(示例在这里:https://github.com/googlesamples/android-vision)相机(camera1)现在被废弃了,推荐使用camera2。

你们知道如何重写CameraSource,以便在安卓视觉上使用camera2吗?

提前谢谢你,

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-01-18 06:30:54

请看一看

具有移动视觉的camera2 #65

好吧,我找到这个了

官方API中没有关于camera2版本的CameraSource类的近期计划。但是,考虑到API是如何构造的,使用CameraSource的开发人员社区可以编写另一个版本的camera2。所有用于处理框架和检测器的现有API都足以支持camera2实现。

票数 2
EN

Stack Overflow用户

发布于 2017-03-21 07:43:45

可以将Camera2 API与结合使用。

首先,Google人脸检测器接收一个用于分析的框架对象(检测人脸及其标志)。

Camera1 API提供了NV21图像格式的预览框架,这对我们来说是理想的。Google Frame.Builder支持setImageData (ByteBuffer in NV16,NV21或YV12图像格式)和setBitmap使用位图作为预览帧进行处理。

您的问题是,Camera2 API以不同的格式提供预览框架。是888。要使一切正常工作,您必须将预览帧转换为支持的格式之一。

一旦从Camera2作为图像获得了ImageReader预览帧,就可以使用该函数将其转换为受支持的格式(在本例中为NV21)。

代码语言:javascript
运行
复制
private byte[] convertYUV420888ToNV21(Image imgYUV420) {
    // Converting YUV_420_888 data to YUV_420_SP (NV21).
    byte[] data;
    ByteBuffer buffer0 = imgYUV420.getPlanes()[0].getBuffer();
    ByteBuffer buffer2 = imgYUV420.getPlanes()[2].getBuffer();
    int buffer0_size = buffer0.remaining();
    int buffer2_size = buffer2.remaining();
    data = new byte[buffer0_size + buffer2_size];
    buffer0.get(data, 0, buffer0_size);
    buffer2.get(data, buffer0_size, buffer2_size);
    return data;
}

然后可以使用返回的byte[]创建Google框架:

代码语言:javascript
运行
复制
outputFrame = new Frame.Builder()
    .setImageData(nv21bytes, mPreviewSize.getWidth(), mPreviewSize.getHeight(), ImageFormat.NV21)
    .setId(mPendingFrameId)
    .setTimestampMillis(mPendingTimeMillis)
    .setRotation(mSensorOrientation)
    .build();

最后,使用创建的框架调用检测器:

代码语言:javascript
运行
复制
mDetector.receiveFrame(outputFrame);

无论如何,如果您想了解更多这方面的信息,可以在GitHub:Camera2Vision上免费测试我的工作示例。我希望我有所帮助:)

票数 3
EN

Stack Overflow用户

发布于 2019-12-27 08:56:24

我没有尝试下面的链接,因为我停止了Google Android Vision的工作,但我认为它对那些想要的人是有好处的:

https://medium.com/@mt1729/an-android-journey-barcode-scanning-with-mobile-vision-api-and-camera2-part-1-8a97cc0d6747

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37559401

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档