Сделайте снимок с помощью CameraX Android Studio Java - PullRequest
0 голосов
/ 02 мая 2020

Я использую ImageAnalysis для вывода, используя pytorch. Теперь я также хочу сфотографировать то, что вижу, и сохранить его в файле .jpg

Как я могу это сделать?

У меня второй (менее важный) вопрос: могу ли я добавить файл .jpg в файл .csv? Если нет, что может быть удобным способом сделать это?

Спасибо.

package org.pytorch.demo.vision;

import android.Manifest;
import ...

public abstract class AbstractCameraXActivity<R> extends BaseModuleActivity {
  ...
  @Override
  protected void onCreate(Bundle savedInstanceState) {
    ...

   startBackgroundThread();

    if (ActivityCompat.checkSelfPermission(this, Manifest.permission.CAMERA)
        != PackageManager.PERMISSION_GRANTED) {
      ActivityCompat.requestPermissions(
          this,
          PERMISSIONS,
          REQUEST_CODE_CAMERA_PERMISSION);
    } else {
      setupCameraX();
    }
  }

  @Override
  public void onRequestPermissionsResult(
      ...
  }

  private void setupCameraX() {
    final TextureView textureView = getCameraPreviewTextureView();
    final PreviewConfig previewConfig = new PreviewConfig.Builder().build();
    final Preview preview = new Preview(previewConfig);
    preview.setOnPreviewOutputUpdateListener(output -> textureView.setSurfaceTexture(output.getSurfaceTexture()));

    final ImageAnalysisConfig imageAnalysisConfig =
        new ImageAnalysisConfig.Builder()
            .setTargetResolution(new Size(224, 224))
            .setCallbackHandler(mBackgroundHandler)
            .setImageReaderMode(ImageAnalysis.ImageReaderMode.ACQUIRE_LATEST_IMAGE)
            .build();

    final ImageAnalysis imageAnalysis = new ImageAnalysis(imageAnalysisConfig);

    imageAnalysis.setAnalyzer(
    (image, rotationDegrees) -> {
          if (SystemClock.elapsedRealtime() - mLastAnalysisResultTime < 500) {
            return;
          }
      final R result = analyzeImage(image, rotationDegrees);
          if (result != null) {
            mLastAnalysisResultTime = SystemClock.elapsedRealtime();
            runOnUiThread(() -> applyToUiAnalyzeImageResult(result));
          }
    });
    CameraX.bindToLifecycle(this, preview, imageAnalysis);
  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...