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

时间:2016-12-16 01:15:09

标签: android opencv opencv4android

我在OpenCV for Python和C方面有一点经验,但在Java中却没有,特别是在Android Studio中。现在,我想使用openCV创建一个应用程序。

有人可以教我如何打开相机,捕获图像,然后以Mat类型返回图像以供以后处理吗?

对不起,如果有人问过这个问题。我已经搜索了答案,但我对我遇到的答案/代码不满意

1 个答案:

答案 0 :(得分:1)

就是这样:

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;
}