gpt4 book ai didi

android - android.hardware.camera2.CaptureRequest 可以与 OpenCV 一起使用吗?

转载 作者:可可西里 更新时间:2023-11-01 19:07:28 25 4
gpt4 key购买 nike

我已经为此工作了好几天。我有一个基于 OpenCV/JavaCameraView 的项目,我正在尝试与我用来控制相机对光的敏感度的 Android android.hardware.camera2.CaptureRequest 对象集成。

CameraBridgeViewBase.CvCameraViewListener2/JavaCameraView 项目有效(我可以在屏幕上看到图像),CaptureRequest 项目有效(也见此),但结合在一个项目中使用这两种技术已证明是一个大问题。

有没有人让这两种技术协同工作?我的目标是让相机在 CaptureRequest 的控制下(有限的 SENSOR_SENSITIVITY + SENSOR_EXPOSURE_TIME),但要让屏幕显示通过我编写的 OpenCV 共享库过滤的流图像。

要控制相机,我可以使用这样的东西:

        mCameraDevice.createCaptureSession(Arrays.asList(surface, mImageReader.getSurface()),
new CameraCaptureSession.StateCallback() {
@Override
public void onConfigured(@NonNull CameraCaptureSession cameraCaptureSession) {
// The camera is already closed
if (null == mCameraDevice) {
return;
}
long exposureTime = 66259688,frameDuration = 1000;
int sensitivity = 1512;

mCaptureSession = cameraCaptureSession;
try {

mPreviewRequestBuilder.set(CaptureRequest.CONTROL_AF_MODE,
CaptureRequest.CONTROL_AF_MODE_CONTINUOUS_PICTURE);

setAutoFlash(mPreviewRequestBuilder);
mPreviewRequestBuilder.set(CaptureRequest.CONTROL_AE_MODE, CaptureRequest.CONTROL_AE_MODE_OFF);
mPreviewRequestBuilder.set(CaptureRequest.SENSOR_EXPOSURE_TIME, Long.valueOf(exposureTime));
mPreviewRequestBuilder.set(CaptureRequest.SENSOR_SENSITIVITY, Integer.valueOf(sensitivity));
mPreviewRequestBuilder.set(CaptureRequest.SENSOR_FRAME_DURATION, Long.valueOf(frameDuration));

mPreviewRequest = mPreviewRequestBuilder.build();
mCaptureSession.setRepeatingRequest(mPreviewRequest,
mCaptureCallback, mBackgroundHandler);


} catch (CameraAccessException e) {
e.printStackTrace();
}catch (Exception e) {
e.printStackTrace();
}
}

要过滤图像流,我可以使用这样的东西:

public class MyCoolScanner extends AppCompatActivity implements CameraBridgeViewBase.CvCameraViewListener2 {
...
@Override
public Mat onCameraFrame(CameraBridgeViewBase.CvCameraViewFrame inputFrame) {
mRgba = inputFrame.rgba();

OpenCVNative.myCoolLibrary(mRgba.getNativeObjAddr(),mGray.getNativeObjAddr());
return mGray;
}

提前致谢。

最佳答案

关于android - android.hardware.camera2.CaptureRequest 可以与 OpenCV 一起使用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42225931/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com