[英]Camera preview image data processing with Android L and Camera2 API
[英]How to android camera2 feed the preview frame data to OpenCV for processing
我想在相机预览中做一些图像处理,比如灰度在老相机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个曲面。 此示例还使用自定义Render Script内核进行处理,您不需要使用它。 您可以轻松捕获ViewfinderProcessor.java中的缓冲区类型Allocation ,以获取旧的Camera API中的字节数组。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.