实时图像处理Android camera2 api

我对
android很新.我正在尝试使用新的
Android Camera2 api来构建实时图像处理应用程序.我的应用程序也需要保持良好的FPS率.根据一些例子,我设法在ImageReader类提供的onImageAvailable(ImageReader reader)方法中进行图像处理.但是通过这样做,我只能设法获得5-7 FPS左右的帧速率.

我已经看到建议使用RenderScript与Android camera2 api进行YUV处理.使用RenderScript会获得更高的FPS费率吗?
如果是这样,请有人指导我如何实现它,因为我是android的新手我很难掌握Allocation和RenderScript的概念.提前致谢.

最佳答案 我不知道你想要执行什么类型的图像处理.但是如果您只对图像的强度感兴趣(即灰度值信息),则不需要对YUV数据阵列进行任何转换(例如转换为jpeg).对于由n个像素组成的图像,强度信息由YUV数据阵列的前n个字节给出.所以,只需从YUV数据数组中删除这些字节:

 byte[] intensity = new byte[width*height];
 intensity = Arrays.copyOfRange(data, 0, width*height);
点赞