camera2 拍照超时_使用camera2 API时,图像会交错

在使用Android camera2 API创建30fps突发拍摄时,遇到预览图像与保存图像交错的问题,尤其是在拍摄闪烁LED时尤为明显。尝试禁用自动曝光并手动设置感光度,但问题未得到解决。代码中展示了创建捕获请求的片段,包括设置自动对焦、感光度和捕获回调。寻求解决方案。
摘要由CSDN通过智能技术生成

我正在尝试使用camera2 api创建一个应用程序,我需要的是创建一个30 fps的突发,这是我可以创建的。

问题是预览图像和保存的图像交错(我正在拍摄一些闪烁的LED,所以很容易看到)。

我试图禁用自动曝光,并设置自己的灵敏度,但没有奏效。

private void captureStillPicture() {

try {

final Activity activity = getActivity();

mPictureCounter = 0;

if (null == activity || null == mCameraDevice) {

return;

}

List captureList = new ArrayList();

// This is the CaptureRequest.Builder that we use to take a picture.

final CaptureRequest.Builder captureBuilder = mCameraDevice.createCaptureRequest(CameraDevice.TEMPLATE_STILL_CAPTURE);

// Use the same AE and AF modes as the preview.

captureBuilder.set(CaptureRequest.CONTROL_AF_MODE, CaptureRequest.CONTROL_AF_MODE_AUTO);

captureBuilder.set(CaptureRequest.SENSOR_SENSITIVITY, 2000);

//Auto focus - should keep that

captureBuilder.set(CaptureRequest.CONTROL_AE_MODE, Consts.aeMode);

captureBuilder.addTarget(mImageReader.getSurface());

for(int i = 0; i < Consts.frameAmount; i++) {

captureList.add(captureBuilder.build());

}

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

@Override

public void onCaptureCompleted(@NonNull CameraCaptureSession session,

@NonNull CaptureRequest request,

@NonNull TotalCaptureResult result) {

mPictureCounter++;

unlockFocus();

}

};

mCaptureSession.stopRepeating();

mCaptureSession.captureBurst(captureList, CaptureCallback, mBackgroundHandler);

} catch (CameraAccessException e) {

e.printStackTrace();

}

}任何想法?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值