私は現在 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(論理的)に表示されるものにすぎませんが、画像全体が必要です。
出来ますか ?
ありがとう、ニクロ