【问题标题】:Set the camera resolution with google vision android使用 google vision android 设置相机分辨率
【发布时间】:2017-05-16 11:10:03
【问题描述】:

目前正在开发 xamarin android 上的条码扫描器。我正在使用谷歌视觉 API。

    cameraSource = new CameraSource
        .Builder(this, barcodeDetector)
        .SetRequestedPreviewSize(1920, 1080)
        .Build();

这是我用来构建相机视图的代码。 如果我理解正确,SetRequestedPreviewSize 用于在手机上显示相机视图。 如何更改手机摄像头使用的分辨率?很遗憾,我找不到任何答案。

【问题讨论】:

    标签: android xamarin google-vision


    【解决方案1】:

    如何更改手机摄像头使用的分辨率?

    你可以在初始化CameraSource之前获取相机的分辨率:

    int numCameras=Camera.getNumberOfCameras();
    for (int i=0;i<numCameras;i++)
    {
        Camera.CameraInfo cameraInfo=new Camera.CameraInfo();
        Camera.getCameraInfo(i,cameraInfo);
        if (cameraInfo.facing== Camera.CameraInfo.CAMERA_FACING_FRONT)
        {
            Camera camera= Camera.open(i);
            Camera.Parameters cameraParams=camera.getParameters();
            List<Camera.Size> sizes= cameraParams.getSupportedPreviewSizes();
            int width=sizes.get(0).width;
            int height=sizes.get(0).height;
        }
    }
    

    【讨论】:

    • 感谢您的评论!因此,如果我理解正确,您的代码将用于获取相机的当前分辨率。 setRequestedPreviewSize 用于设置相机的分辨率?很抱歉这个问题,但这是第一次使用它。
    • setRequestPreviewSize 用于设置所需的相机帧的宽度和高度(以像素为单位)。我的答案中的代码用于获取前置摄像头支持的预览尺寸。
    • 这是一个有效的解决方案。您必须在框架 onLayout() 函数和 CameraSource setRequestedPreviewSize() 中设置此参数才能获得正确的相机预览。此外,相机已弃用。谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-24
    • 2012-07-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多