我正在制作适用于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。不幸的是,这种方法使框架小于屏幕尺寸。在降低分辨率后是否可以拉伸框架以适应屏幕,或者有更好的方法来解决这个问题吗?
提前感谢您的帮助!
答案 0 :(得分:0)
第一步:首先你必须把它们放在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);
如果你成功完成了这些,我希望它能正常工作。