aboutsummaryrefslogtreecommitdiffhomepage
path: root/tensorflow/examples/android/src/org/tensorflow/demo/CameraConnectionFragment.java
diff options
context:
space:
mode:
Diffstat (limited to 'tensorflow/examples/android/src/org/tensorflow/demo/CameraConnectionFragment.java')
-rw-r--r--tensorflow/examples/android/src/org/tensorflow/demo/CameraConnectionFragment.java80
1 files changed, 33 insertions, 47 deletions
diff --git a/tensorflow/examples/android/src/org/tensorflow/demo/CameraConnectionFragment.java b/tensorflow/examples/android/src/org/tensorflow/demo/CameraConnectionFragment.java
index 76bd61d00f..986f2777b2 100644
--- a/tensorflow/examples/android/src/org/tensorflow/demo/CameraConnectionFragment.java
+++ b/tensorflow/examples/android/src/org/tensorflow/demo/CameraConnectionFragment.java
@@ -353,58 +353,44 @@ public class CameraConnectionFragment extends Fragment {
super.onPause();
}
+ public void setCamera(String cameraId) {
+ this.cameraId = cameraId;
+ }
+
/**
* Sets up member variables related to camera.
- *
- * @param width The width of available size for camera preview
- * @param height The height of available size for camera preview
*/
- private void setUpCameraOutputs(final int width, final int height) {
+ private void setUpCameraOutputs() {
final Activity activity = getActivity();
final CameraManager manager = (CameraManager) activity.getSystemService(Context.CAMERA_SERVICE);
try {
- for (final String cameraId : manager.getCameraIdList()) {
- final CameraCharacteristics characteristics = manager.getCameraCharacteristics(cameraId);
-
- // We don't use a front facing camera in this sample.
- final Integer facing = characteristics.get(CameraCharacteristics.LENS_FACING);
- if (facing != null && facing == CameraCharacteristics.LENS_FACING_FRONT) {
- continue;
- }
-
- final StreamConfigurationMap map =
- characteristics.get(CameraCharacteristics.SCALER_STREAM_CONFIGURATION_MAP);
-
- if (map == null) {
- continue;
- }
-
- // For still image captures, we use the largest available size.
- final Size largest =
- Collections.max(
- Arrays.asList(map.getOutputSizes(ImageFormat.YUV_420_888)),
- new CompareSizesByArea());
-
- sensorOrientation = characteristics.get(CameraCharacteristics.SENSOR_ORIENTATION);
-
- // Danger, W.R.! Attempting to use too large a preview size could exceed the camera
- // bus' bandwidth limitation, resulting in gorgeous previews but the storage of
- // garbage capture data.
- previewSize =
- chooseOptimalSize(
- map.getOutputSizes(SurfaceTexture.class),
- inputSize.getWidth(),
- inputSize.getHeight());
-
- // We fit the aspect ratio of TextureView to the size of preview we picked.
- final int orientation = getResources().getConfiguration().orientation;
- if (orientation == Configuration.ORIENTATION_LANDSCAPE) {
- textureView.setAspectRatio(previewSize.getWidth(), previewSize.getHeight());
- } else {
- textureView.setAspectRatio(previewSize.getHeight(), previewSize.getWidth());
- }
-
- CameraConnectionFragment.this.cameraId = cameraId;
+ final CameraCharacteristics characteristics = manager.getCameraCharacteristics(cameraId);
+
+ final StreamConfigurationMap map =
+ characteristics.get(CameraCharacteristics.SCALER_STREAM_CONFIGURATION_MAP);
+
+ // For still image captures, we use the largest available size.
+ final Size largest =
+ Collections.max(
+ Arrays.asList(map.getOutputSizes(ImageFormat.YUV_420_888)),
+ new CompareSizesByArea());
+
+ sensorOrientation = characteristics.get(CameraCharacteristics.SENSOR_ORIENTATION);
+
+ // Danger, W.R.! Attempting to use too large a preview size could exceed the camera
+ // bus' bandwidth limitation, resulting in gorgeous previews but the storage of
+ // garbage capture data.
+ previewSize =
+ chooseOptimalSize(map.getOutputSizes(SurfaceTexture.class),
+ inputSize.getWidth(),
+ inputSize.getHeight());
+
+ // We fit the aspect ratio of TextureView to the size of preview we picked.
+ final int orientation = getResources().getConfiguration().orientation;
+ if (orientation == Configuration.ORIENTATION_LANDSCAPE) {
+ textureView.setAspectRatio(previewSize.getWidth(), previewSize.getHeight());
+ } else {
+ textureView.setAspectRatio(previewSize.getHeight(), previewSize.getWidth());
}
} catch (final CameraAccessException e) {
LOGGER.e(e, "Exception!");
@@ -425,7 +411,7 @@ public class CameraConnectionFragment extends Fragment {
* Opens the camera specified by {@link CameraConnectionFragment#cameraId}.
*/
private void openCamera(final int width, final int height) {
- setUpCameraOutputs(width, height);
+ setUpCameraOutputs();
configureTransform(width, height);
final Activity activity = getActivity();
final CameraManager manager = (CameraManager) activity.getSystemService(Context.CAMERA_SERVICE);