首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >camera2api自动捕获电流预览帧

camera2api自动捕获电流预览帧
EN

Stack Overflow用户
提问于 2016-07-22 18:19:57
回答 1查看 780关注 0票数 0

在Android上使用照相机2 API

对于实时图像处理,我设置了一个侦听器来执行一些图像处理,它提供了一个关于是否捕获图像的布尔输出。目前,我正在使用camera2Raw示例,该示例在单击按钮时具有takePicture()。如何确保捕获我处理的同一帧,而不捕获其他帧。请帮帮我。谢谢

链接到camera2Raw

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-07-28 07:53:00

当您在captureSession中进行捕获时,当前帧将被捕获,并从当前回调关联到捕获遍历onCapturePictureComplete()方法:

代码语言:javascript
运行
复制
  mCaptureSession.capture(mPhotoRequestBuilder.build(), YourCallback, null);

private CameraCaptureSession.CaptureCallback YourCallback = new CameraCaptureSession.CaptureCallback() {

    @Override
    public void onCaptureCompleted(@NonNull CameraCaptureSession session,
                                   @NonNull CaptureRequest request,
                                   @NonNull TotalCaptureResult result) {

        //get the iso and time exposure from the picture
        Integer iso = result.get(CaptureResult.SENSOR_SENSITIVITY);
        long timeExposure = result.get(CaptureResult.SENSOR_EXPOSURE_TIME);

        Log.i(TAG, "[mHdrCaptureCallback][HDR] Photo: " + mHdrIndex + " Exposure: " + timeExposure);
        Log.i(TAG, "[mHdrCaptureCallback][HDR] Photo: " + mHdrIndex  + " ISO " + iso);

    }
};

在上面的例子中,我做了一个捕获,当它完成时,捕获回调就是调用。我只是从图像结果中打印曝光值和ISO值。但是,当您拍摄一张照片时,来自您当前onImageAvailable的ImageReader侦听器也将被调用,您将在那里保存当前帧和图像。

看看你在Google中的例子:

代码语言:javascript
运行
复制
/**
 * This a callback object for the {@link ImageReader}. "onImageAvailable" will be called when a
 * JPEG image is ready to be saved.
 */
private final ImageReader.OnImageAvailableListener mOnJpegImageAvailableListener
        = new ImageReader.OnImageAvailableListener() {

    @Override
    public void onImageAvailable(ImageReader reader) {
        dequeueAndSaveImage(mJpegResultQueue, mJpegImageReader);
    }

};

/**
 * This a callback object for the {@link ImageReader}. "onImageAvailable" will be called when a
 * RAW image is ready to be saved.
 */
private final ImageReader.OnImageAvailableListener mOnRawImageAvailableListener
        = new ImageReader.OnImageAvailableListener() {

    @Override
    public void onImageAvailable(ImageReader reader) {
        dequeueAndSaveImage(mRawResultQueue, mRawImageReader);
    }

};

希望它能帮助你,现在你知道保存图像处理如何与camera2一起工作,如果我能在其他方面帮助你,让我知道!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38533025

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档