2016-08-08 50 views
0

Ich mache eine OpenCV App für Android, die schwere Bildverarbeitung macht. Um meine Framerate zu erhöhen, begrenzt ich meine Rahmengröße auf 640 x 480 etwa so:OpenCV Android Kamera nicht Vollbild

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

Wo mOpenCvCameraView vom Typ JavaCameraView ist. Leider macht dieser Ansatz den Rahmen kleiner als die Bildschirmgröße. Ist es möglich, den Rahmen nach der Reduzierung der Auflösung an den Bildschirm anzupassen, oder gibt es dafür einen besseren Weg?

Vielen Dank im Voraus für Ihre Hilfe!

Antwort

0

Schritt 1: Zuerst müssen Sie diese innerhalb AndroidManifest.xml setzen

<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"/> 

Schritt 2: Ändern Sie diese Zeile in AndroidManifest.xml

android:theme="@style/AppTheme"> 

      to 

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

Schritt 3: Dann

ändern
<activity android:name=".MainActivity"> 

    to 

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

Schritt 4: Nach Abschluss des oben genannten setzen Sie diese Zeile auf onCreate() -Methode auf Java-Klasse

getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); 

Wenn Sie erfolgreich diese getan haben, hoffe ich, dass es gut funktioniert.

+0

Ich habe alle diese Schritte gemacht, aber immer noch kein Glück –