Last active
November 6, 2018 09:17
-
-
Save FrankWu100/965986a3586fe0095fece70d17ac5554 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
From c8b6450817d314099897bd899849bcfe47ee949d Mon Sep 17 00:00:00 2001 | |
From: Frank Wu <frankwu100@gmail.com> | |
Date: Tue, 29 May 2018 18:03:33 +0800 | |
Subject: [PATCH] Demo, Landscape mode | |
--- | |
tensorflow/examples/android/AndroidManifest.xml | 56 +++++++++++----------- | |
.../src/org/tensorflow/demo/CameraActivity.java | 9 ++++ | |
.../tensorflow/demo/CameraConnectionFragment.java | 4 ++ | |
.../src/org/tensorflow/demo/DetectorActivity.java | 4 +- | |
.../tensorflow/demo/tracking/MultiBoxTracker.java | 1 + | |
5 files changed, 44 insertions(+), 30 deletions(-) | |
diff --git a/tensorflow/examples/android/AndroidManifest.xml b/tensorflow/examples/android/AndroidManifest.xml | |
index 5c47ce6..e50a720 100644 | |
--- a/tensorflow/examples/android/AndroidManifest.xml | |
+++ b/tensorflow/examples/android/AndroidManifest.xml | |
@@ -34,18 +34,18 @@ | |
android:icon="@drawable/ic_launcher" | |
android:theme="@style/MaterialTheme"> | |
- <activity android:name="org.tensorflow.demo.ClassifierActivity" | |
- android:screenOrientation="portrait" | |
- android:label="@string/activity_name_classification"> | |
- <intent-filter> | |
- <action android:name="android.intent.action.MAIN" /> | |
- <category android:name="android.intent.category.LAUNCHER" /> | |
- <category android:name="android.intent.category.LEANBACK_LAUNCHER" /> | |
- </intent-filter> | |
- </activity> | |
+ <!--<activity android:name="org.tensorflow.demo.ClassifierActivity"--> | |
+ <!--android:screenOrientation="landscape"--> | |
+ <!--android:label="@string/activity_name_classification">--> | |
+ <!--<intent-filter>--> | |
+ <!--<action android:name="android.intent.action.MAIN" />--> | |
+ <!--<category android:name="android.intent.category.LAUNCHER" />--> | |
+ <!--<category android:name="android.intent.category.LEANBACK_LAUNCHER" />--> | |
+ <!--</intent-filter>--> | |
+ <!--</activity>--> | |
<activity android:name="org.tensorflow.demo.DetectorActivity" | |
- android:screenOrientation="portrait" | |
+ android:screenOrientation="landscape" | |
android:label="@string/activity_name_detection"> | |
<intent-filter> | |
<action android:name="android.intent.action.MAIN" /> | |
@@ -54,25 +54,25 @@ | |
</intent-filter> | |
</activity> | |
- <activity android:name="org.tensorflow.demo.StylizeActivity" | |
- android:screenOrientation="portrait" | |
- android:label="@string/activity_name_stylize"> | |
- <intent-filter> | |
- <action android:name="android.intent.action.MAIN" /> | |
- <category android:name="android.intent.category.LAUNCHER" /> | |
- <category android:name="android.intent.category.LEANBACK_LAUNCHER" /> | |
- </intent-filter> | |
- </activity> | |
+ <!--<activity android:name="org.tensorflow.demo.StylizeActivity"--> | |
+ <!--android:screenOrientation="portrait"--> | |
+ <!--android:label="@string/activity_name_stylize">--> | |
+ <!--<intent-filter>--> | |
+ <!--<action android:name="android.intent.action.MAIN" />--> | |
+ <!--<category android:name="android.intent.category.LAUNCHER" />--> | |
+ <!--<category android:name="android.intent.category.LEANBACK_LAUNCHER" />--> | |
+ <!--</intent-filter>--> | |
+ <!--</activity>--> | |
- <activity android:name="org.tensorflow.demo.SpeechActivity" | |
- android:screenOrientation="portrait" | |
- android:label="@string/activity_name_speech"> | |
- <intent-filter> | |
- <action android:name="android.intent.action.MAIN" /> | |
- <category android:name="android.intent.category.LAUNCHER" /> | |
- <category android:name="android.intent.category.LEANBACK_LAUNCHER" /> | |
- </intent-filter> | |
- </activity> | |
+ <!--<activity android:name="org.tensorflow.demo.SpeechActivity"--> | |
+ <!--android:screenOrientation="portrait"--> | |
+ <!--android:label="@string/activity_name_speech">--> | |
+ <!--<intent-filter>--> | |
+ <!--<action android:name="android.intent.action.MAIN" />--> | |
+ <!--<category android:name="android.intent.category.LAUNCHER" />--> | |
+ <!--<category android:name="android.intent.category.LEANBACK_LAUNCHER" />--> | |
+ <!--</intent-filter>--> | |
+ <!--</activity>--> | |
</application> | |
</manifest> | |
diff --git a/tensorflow/examples/android/src/org/tensorflow/demo/CameraActivity.java b/tensorflow/examples/android/src/org/tensorflow/demo/CameraActivity.java | |
index 429138a..6353bc4 100644 | |
--- a/tensorflow/examples/android/src/org/tensorflow/demo/CameraActivity.java | |
+++ b/tensorflow/examples/android/src/org/tensorflow/demo/CameraActivity.java | |
@@ -38,6 +38,7 @@ import android.os.Trace; | |
import android.util.Size; | |
import android.view.KeyEvent; | |
import android.view.Surface; | |
+import android.view.View; | |
import android.view.WindowManager; | |
import android.widget.Toast; | |
import java.nio.ByteBuffer; | |
@@ -73,6 +74,11 @@ public abstract class CameraActivity extends Activity | |
@Override | |
protected void onCreate(final Bundle savedInstanceState) { | |
LOGGER.d("onCreate " + this); | |
+ | |
+ View decorView = getWindow().getDecorView(); | |
+ int uiOptions = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_FULLSCREEN; | |
+ decorView.setSystemUiVisibility(uiOptions); | |
+ | |
super.onCreate(null); | |
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); | |
@@ -339,6 +345,9 @@ public abstract class CameraActivity extends Activity | |
useCamera2API = (facing == CameraCharacteristics.LENS_FACING_EXTERNAL) | |
|| isHardwareLevelSupported(characteristics, | |
CameraCharacteristics.INFO_SUPPORTED_HARDWARE_LEVEL_FULL); | |
+ | |
+ useCamera2API = true; | |
+ | |
LOGGER.i("Camera API lv2?: %s", useCamera2API); | |
return cameraId; | |
} | |
diff --git a/tensorflow/examples/android/src/org/tensorflow/demo/CameraConnectionFragment.java b/tensorflow/examples/android/src/org/tensorflow/demo/CameraConnectionFragment.java | |
index 361cf0e..5343910 100644 | |
--- a/tensorflow/examples/android/src/org/tensorflow/demo/CameraConnectionFragment.java | |
+++ b/tensorflow/examples/android/src/org/tensorflow/demo/CameraConnectionFragment.java | |
@@ -588,9 +588,13 @@ public class CameraConnectionFragment extends Fragment { | |
(float) viewHeight / previewSize.getHeight(), | |
(float) viewWidth / previewSize.getWidth()); | |
matrix.postScale(scale, scale, centerX, centerY); | |
+ matrix.postScale(-1*scale, scale, centerX, centerY); | |
matrix.postRotate(90 * (rotation - 2), centerX, centerY); | |
} else if (Surface.ROTATION_180 == rotation) { | |
+ matrix.postScale(-1, 1, centerX, centerY); | |
matrix.postRotate(180, centerX, centerY); | |
+ } else { | |
+ matrix.postScale(-1, 1, centerX, centerY); | |
} | |
textureView.setTransform(matrix); | |
} | |
diff --git a/tensorflow/examples/android/src/org/tensorflow/demo/DetectorActivity.java b/tensorflow/examples/android/src/org/tensorflow/demo/DetectorActivity.java | |
index 7882d87..b676865 100644 | |
--- a/tensorflow/examples/android/src/org/tensorflow/demo/DetectorActivity.java | |
+++ b/tensorflow/examples/android/src/org/tensorflow/demo/DetectorActivity.java | |
@@ -92,7 +92,7 @@ public class DetectorActivity extends CameraActivity implements OnImageAvailable | |
private static final boolean MAINTAIN_ASPECT = MODE == DetectorMode.YOLO; | |
- private static final Size DESIRED_PREVIEW_SIZE = new Size(640, 480); | |
+ private static final Size DESIRED_PREVIEW_SIZE = new Size(1920, 1080); | |
private static final boolean SAVE_PREVIEW_BITMAP = false; | |
private static final float TEXT_SIZE_DIP = 10; | |
@@ -213,7 +213,7 @@ public class DetectorActivity extends CameraActivity implements OnImageAvailable | |
canvas.drawColor(backgroundColor); | |
final Matrix matrix = new Matrix(); | |
- final float scaleFactor = 2; | |
+ final float scaleFactor = 4; | |
matrix.postScale(scaleFactor, scaleFactor); | |
matrix.postTranslate( | |
canvas.getWidth() - copy.getWidth() * scaleFactor, | |
diff --git a/tensorflow/examples/android/src/org/tensorflow/demo/tracking/MultiBoxTracker.java b/tensorflow/examples/android/src/org/tensorflow/demo/tracking/MultiBoxTracker.java | |
index af6af2b..ac4b39e 100644 | |
--- a/tensorflow/examples/android/src/org/tensorflow/demo/tracking/MultiBoxTracker.java | |
+++ b/tensorflow/examples/android/src/org/tensorflow/demo/tracking/MultiBoxTracker.java | |
@@ -173,6 +173,7 @@ public class MultiBoxTracker { | |
(int) (multiplier * (rotated ? frameWidth : frameHeight)), | |
sensorOrientation, | |
false); | |
+ frameToCanvasMatrix.postScale(-1, 1 , frameWidth/2, frameHeight/2); | |
for (final TrackedRecognition recognition : trackedObjects) { | |
final RectF trackedPos = | |
(objectTracker != null) | |
-- | |
2.8.1 | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment