Android相机未全屏显示

Android相机未全屏显示

我正在为Android制作OpenCV应用程序,该应用程序执行大量图像处理。为了提高帧速率,我将帧大小限制为640 x 480,如下所示:

private BaseLoaderCallback mLoaderCallback = new BaseLoaderCallback(this) {
    @Override
    public void onManagerConnected(int status) {
        switch(status) {
        case LoaderCallbackInterface.SUCCESS:
        {
            mOpenCvCameraView.setMaxFrameSize(640, 480);
            Log.i(TAG, "Loaded Successfully");
            mOpenCvCameraView.enableView();
            System.loadLibrary("opencvnative");

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

其中mOpenCvCameraView的类型为JavaCameraView。不幸的是,这种方法使框架小于屏幕尺寸。在降低分辨率之后是否可以拉伸(stretch)框架以适合屏幕,还是有更好的方法来解决此问题?

在此先感谢您的帮助!

最佳答案

步骤1:首先,您必须将它们放入AndroidManifest.xml中

<supports-screens android:resizeable="true"
    android:smallScreens="true"
    android:normalScreens="true"
    android:largeScreens="true"
    android:anyDensity="true" />

<uses-permission android:name="android.permission.CAMERA"/>

<uses-feature android:name="android.hardware.camera" android:required="false"/>
<uses-feature android:name="android.hardware.camera.autofocus" android:required="false"/>
<uses-feature android:name="android.hardware.camera.front" android:required="false"/>
<uses-feature android:name="android.hardware.camera.front.autofocus" android:required="false"/>

步骤2:在AndroidManifest.xml中更改此行
android:theme="@style/AppTheme">

           to

android:theme="@android:style/Theme.NoTitleBar.Fullscreen">

步骤3:然后变更
<activity android:name=".MainActivity">

  to

<activity android:name=".MainActivity"
        android:screenOrientation="landscape"
        android:configChanges="keyboardHidden|orientation">

步骤4:完成上述步骤后,将此行放入Java类的onCreate()方法
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);

如果您成功完成了这些操作,我希望它能正常运行。

关于android - OpenCV Android相机未全屏显示,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38835077/

10-08 21:16