В настоящее время я разрабатываю приложение, использующее Camera2. Я показываю предварительный просмотр в TextureView, который масштабируется и транслируется (мне нужно отобразить только часть изображения). Моя проблема в том, что мне нужно проанализировать все изображение.
Что у меня есть в CameraDevice.StateCallback:
@Override
public void onOpened(CameraDevice camera) {
mCameraDevice = camera;
SurfaceTexture texture = mTextureView.getSurfaceTexture();
texture.setDefaultBufferSize(mPreviewSize.getWidth(), mPreviewSize.getHeight());
Surface surface = new Surface(texture);
try {
mPreviewBuilder = mCameraDevice.createCaptureRequest(CameraDevice.TEMPLATE_PREVIEW);
} catch (CameraAccessException e){
e.printStackTrace();
}
try {
mCameraDevice.createCaptureSession(Arrays.asList(surface), mPreviewStateCallback, null);
mPreviewBuilder.addTarget(surfaceFull);
} catch (CameraAccessException e) {
e.printStackTrace();
}
}
и в моем SurfaceTextureListener :
@Override
public void onSurfaceTextureUpdated(SurfaceTexture surface) {
Thread thread = new Thread(new Runnable() {
@Override
public void run() {
my_analyze(mTextureView.getBitmap());
}
});
thread.start();
}
А растровое изображение — это только то, что я вижу в TextureView (что логично), а мне нужно изображение целиком.
Является ли это возможным ?
Спасибо, НиКЛО