【发布时间】:2017-10-16 18:02:04
【问题描述】:
我在我的 git repo 中使用了https://stackoverflow.com/a/40152147/2949966 中提供的ImageUtil 类:https://github.com/ahasbini/cameraview/tree/camera_preview_imp(注意实现在camera_preview_imp 分支中)来实现帧预览回调。 ImageReader 设置为预览ImageFormat.YUV_420_888 格式的帧,该格式将使用ImageUtil 类转换为ImageFormat.JPEG 并将其发送到帧回调。演示应用每 50 帧将回调中的一帧保存到文件中。所有保存的帧图像都出现扭曲,如下所示:
如果我通过在Camera2 中进行以下更改,将ImageReader 改为使用ImageFormat.JPEG:
mPreviewImageReader = ImageReader.newInstance(previewSize.getWidth(),
previewSize.getHeight(), ImageFormat.JPEG, /* maxImages */ 2);
mCamera.createCaptureSession(Arrays.asList(surface, mPreviewImageReader.getSurface()),
mSessionCallback, null);
图像正常显示,没有任何失真,但是帧速率显着下降并且视图开始滞后。因此我相信ImageUtil 类没有正确转换。
【问题讨论】:
-
final image失真是图像写入文件吗? -
我的错误,已编辑问题以消除混乱。
-
在哪里可以看到
onImageAvailable(ImageReader reader)(ImageReader.OnImageAvailableListener) 方法? -
在
Camera2类中的mOnPreviewAvailableListener变量中。 -
请链接 :) 我找不到。
标签: android image android-camera