我正在开发一个应用程序,我想处理来自相机的每一帧,并在它上应用一些图像处理算法。我从ImageReader内部的onImageAvailable回调中获取图像提要,并将其传递给带有JNI接口的cpp代码进行进一步处理。这工作得很好,直到我在cpp代码中执行繁重的操作,之后它开始向相机预览添加延迟和滞后。是否可以并行处理提要图像,以便获得实时结果?我已经为cameraCaptureSession使用了一个不同的线程。
发布于 2018-08-04 03:23:32
增加ImageReader的maxImage计数,以便可以同时处理多个图像。但是最终,你的吞吐量必须达到30fps才不会减慢预览的速度;并行处理只有在(比方说)花100毫秒来完成你的处理的情况下才有用,但你可以并行运行3个处理线程(所以每33毫秒就会有一个帧完成)。
或者,如果跟不上,您可以跳过处理帧;只需检查您的处理是否仍在进行中,如果是,立即释放图像。当然,如果您唯一的输出是经过处理的帧,那么这不会有什么帮助。
https://stackoverflow.com/questions/51666353
复制相似问题