我在OpenCV for Python和C方面有一点经验,但在Java中却没有,特别是在Android Studio中。现在,我想使用openCV创建一个应用程序。
有人可以教我如何打开相机,捕获图像,然后以Mat类型返回图像以供以后处理吗?
对不起,如果有人问过这个问题。我已经搜索了答案,但我对我遇到的答案/代码不满意
答案 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;
}