我对java和opencv都很陌生,尤其是android。通过阅读,我知道camera2 APi比camera1 API支持更高的分辨率。这对我的项目很有用。
我试图从开放式简历中了解人脸检测示例。我知道有javacameraview和javacamera2view类。
到目前为止,我了解该 Activity 使用javacameraview。但是,我不知道javacameraview最初在哪里调用。完全没有声明。
我相信它在camerabridgeviewbase中被称为。但我找不到javacameraview的任何初始化。
主要目标是将javacameraview替换为javacamera2view。或直接使用camera2 API。
我了解到camera2 API有一些限制,但是现在这不是主要问题。
这是CameraBridgeViewBase的初始化
private static final String TAG = "CameraBridge";
protected static final int MAX_UNSPECIFIED = -1;
private static final int STOPPED = 0;
private static final int STARTED = 1;
private int mState = STOPPED;
private Bitmap mCacheBitmap;
private CvCameraViewListener2 mListener;
private boolean mSurfaceExist;
private final Object mSyncObject = new Object();
protected int mFrameWidth;
protected int mFrameHeight;
protected int mMaxHeight;
protected int mMaxWidth;
protected float mScale = 1;
protected int mPreviewFormat = RGBA;
protected int mCameraIndex = CAMERA_ID_ANY;
protected boolean mEnabled;
protected boolean mCameraPermissionGranted = false;
protected FpsMeter mFpsMeter = null;
public static final int CAMERA_ID_ANY = -1;
public static final int CAMERA_ID_BACK = 99;
public static final int CAMERA_ID_FRONT = 98;
public static final int RGBA = 1;
public static final int GRAY = 2;
干杯
最佳答案
好吧,我在错误的地方找东西。它是在布局中控制的。只需将JavaCameraView替换为JavaCamera2View。并做了。 Camera2已实现。
关于android - 在opencv中使用javacamera2view,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58841537/