我是Camera2 API的新手。我想在我的Android手机上建立图像处理框架。
步骤1:使用Camera2 API打开相机预览流
步骤2:将预览框架数据馈送到OpenCV进行处理
第三步:在屏幕上实时显示处理结果
目前,我已经使用ImageReaderC ++ OpenCV代码完成了Step1 。但是,我不知道该怎么做。如何在屏幕上显示经过处理的图像?(我要显示正常图像,如果检测到预定义对象,则要覆盖图标)
以下是一些关键代码:
protected void createCameraPreview() {
try {
SurfaceTexture texture = textureView.getSurfaceTexture();
assert texture != null;
texture.setDefaultBufferSize(imageDimension.getWidth(), imageDimension.getHeight());
// Surface surface = new Surface(texture);
Surface mImageSurface = mImageReader.getSurface();
captureRequestBuilder = cameraDevice.createCaptureRequest(CameraDevice.TEMPLATE_PREVIEW);
// captureRequestBuilder.addTarget(surface);
captureRequestBuilder.addTarget(mImageSurface);
cameraDevice.createCaptureSession(Arrays.asList(mImageSurface), new CameraCaptureSession.StateCallback(){
@Override
public void onConfigured(@NonNull CameraCaptureSession cameraCaptureSession) {
//The camera is already closed
if (null == cameraDevice) {
return;
}
cameraCaptureSessions = cameraCaptureSession;
updatePreview();
}
@Override
public void onConfigureFailed(@NonNull CameraCaptureSession …Run Code Online (Sandbox Code Playgroud)