android中没有Surface View的媒体管道中的地标扣除

Posted

技术标签:

【中文标题】android中没有Surface View的媒体管道中的地标扣除【英文标题】:landmark deduction in media pipe with out Surface View in android 【发布时间】:2021-09-23 05:54:39 【问题描述】:

我正在实施媒体管道手部跟踪

https://google.github.io/mediapipe/solutions/hands

android中,只有在预览相机数据时才能获得地标,否则无法扣分

如何在没有相机或图像预览的情况下访问地标?

【问题讨论】:

【参考方案1】:

您可以将预览的可见性设置为 GONE。这样预览就不会显示了。

private void startCamera() 
    cameraHelper = new CameraXPreviewHelper();         
    cameraHelper.setOnCameraStartedListener(
            surfaceTexture -> 
                previewFrameTexture = surfaceTexture;
                // Make the display view visible to start showing the preview. This triggers the
                // SurfaceHolder.Callback added to (the holder of) previewDisplayView.

                // comment this *********
                // previewDisplayView.setVisibility(View.VISIBLE);

                onCameraStarted(surfaceTexture);
            );
    cameraHelper.startCamera(this, CAMERA_FACING, /*surfaceTexture=*/ null);

“previewFrameTexture”是发送处理的,但它是从surfaceTexture 复制的。请记住,这不会触发回调,因此请手动设置转换器大小。

converter.setSurfaceTextureAndAttachToGLContext(previewFrameTexture,*width of your camera preview size, height of your camera preview size;

有关更多信息,请查看此链接: Mediapipe Examples

【讨论】:

以上是关于android中没有Surface View的媒体管道中的地标扣除的主要内容,如果未能解决你的问题,请参考以下文章

Android View显示流程

Android 截屏 Surface View 显示黑屏

Android中的Surface和SurfaceView

深入Android系统Android图形显示系统-1-显示原理与Surface

请教view,SurfaceView,GLSurfaceView的关系和区别

Android--SurfaceView使用详解