gpt4 book ai didi

android - android camera2如何将预览帧数据馈送到OpenCV进行处理

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:57:20 25 4
gpt4 key购买 nike

我想在相机预览中做一些图像处理,比如灰度在旧的camera api中很容易,但是移植到camera2 api中,我不知道怎么做

public void onPreviewFrame(byte[] data, Camera cam) {
// custom image data processing
}

我试图从这里获取框架(如问题答案中所建议的那样):

private final ImageReader.OnImageAvailableListener mOnImageAvailableListener
= new ImageReader.OnImageAvailableListener() {

@Override
public void onImageAvailable(ImageReader reader) {

Log.d("Img", "onImageAvailable");
mBackgroundHandler.post(new ImageSaver(reader.acquireNextImage(), mFile));
}

};

他没有用,因为回调仅在用户执行图像捕获后调用

最佳答案

此示例来自 Google https://github.com/googlesamples/android-HdrViewfinder给出了您需要做的基本操作。

总结:

1) 添加一个Surface到相机的输出

2) 监听这个表面的更新,在上面的例子中它发生在 ViewfinderProcessor.java

上面的示例使用 2 个表面进行伪造的 HDR 预览,但您应该能够轻松地将示例清理为仅使用 1 个表面。该示例还使用自定义渲染脚本内核进行处理,您不需要使用它。您可以轻松地在 ViewfinderProcessor.java 中捕获缓冲区类型 Allocation 以获取字节数组,就像在旧的 Camera API 中一样。

关于android - android camera2如何将预览帧数据馈送到OpenCV进行处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44135586/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com