在 OpenCV 中从相机获取 Mat 图片 Android

Getting Mat picture from camera in OpenCV for Android

我在 Python 和 C 的 OpenCV 方面有一点经验,但在 Java 尤其是 Android Studio 方面为零。现在,我想用openCV制作一个应用程序。

谁能教我如何打开相机,捕捉图像,然后return Mat 类型的图像供以后处理?

如果之前有人问过这个问题,我很抱歉。我一直在寻找答案,但对我遇到的 answer/code 从未感到满意

是这样的:

public class yourclass extends AppCompatActivity implements CameraBridgeViewBase.CvCameraViewListener2 {
Mat mRgba;
Mat mGray;

@Override
public void onCameraViewStarted(int width, int height) {
    mRgba = new Mat(height, width, CvType.CV_8UC4);
    mGray = new Mat(height, width, CvType.CV_8UC1);
}

@Override
public void onCameraViewStopped() {
    mRgba.release();
    mGray.release();
}
/* this is the important part */
@Override
public Mat onCameraFrame(CameraBridgeViewBase.CvCameraViewFrame inputFrame) {
    Log.i(TAG,"onCameraFrame before inputFrame");
    Mat rgb;
    int red =rgb[0], green=rgb[1], blue=rgb[2];
    return rgb;
}