Opencv全屏使用CameraBridgeViewBase android

时间:2012-11-18 09:19:25

标签: android opencv fullscreen

我正在尝试使用给定的教程作为基础在Android上设置Opencv。我无法控制屏幕上的视频大小,我想将其放大到全屏。我正在使用CameraBridgeViewBase对象,因为VideoCapture对象不起作用。 有谁知道如何将图片设置为全屏?

相关代码:

public class Sample3Native extends Activity implements CvCameraViewListener {
private static final String TAG = "OCVSample::Activity";

private Mat                    mRgba;
private Mat                    mGrayMat;
private Mat                    mFinalMat;


public CameraBridgeViewBase   mOpenCvCameraView;



private BaseLoaderCallback     mLoaderCallback = new BaseLoaderCallback(this) {
    @Override
    public void onManagerConnected(int status) {



        switch (status) {
            case LoaderCallbackInterface.SUCCESS:
            {
                Log.i(TAG, "OpenCV loaded successfully");


                mOpenCvCameraView.enableView();

            } break;
            default:
            {
                super.onManagerConnected(status);
            } break;
        }
    }
};

public Sample3Native() {
    Log.i(TAG, "Instantiated new " + this.getClass());
}

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    Log.i(TAG, "called onCreate");
    super.onCreate(savedInstanceState);
    requestWindowFeature(Window.FEATURE_NO_TITLE);
    getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);


    setContentView(R.layout.tutorial3_surface_view);


    mOpenCvCameraView = (CameraBridgeViewBase) findViewById(R.id.tutorial4_activity_surface_view);
    mOpenCvCameraView.setCvCameraViewListener(this);


}

任何帮助将不胜感激

3 个答案:

答案 0 :(得分:1)

我按照这些步骤开始工作。

  1. 删除ActionBar - 转到值/样式并更改

    样式名称=" AppTheme"父=" Theme.AppCompat.Light.DarkActionBar"

    样式名称=" AppTheme"父=" Theme.AppCompat.NoActionBar"

  2. 设置最大帧大小 - 使用此代码设置帧大小。

    mOpenCvCameraView.setMaxFrameSize(720,480);

答案 1 :(得分:0)

对于仍在寻找此问题的人,我已经解决了这个问题(排序)。我似乎无法让这个适用于OpenCV v 2.4.3。我在互联网上尝试了一切。但是,在OpenCV 2.4.3.2中,他们添加了一种设置摄像头大小的方法

disconnectCamera();
mMaxHeight = //your desired height
mMaxWidth = //your desired width
connectCamera(mMaxWidth, mMaxHeight);

查看OpenCV教程5,特别是SampleJavaCameraView - > setResolution方法

答案 2 :(得分:0)

您需要在Android Manifest文件中将活动主题设置为全屏。在你的活动中添加android:theme =“@ android:style / Theme.NoTitleBar.Fullscreen”。