新的视觉API -图片大小



我一直在做一个项目,并得到了人脸检测工作,与焦点,感谢SO。

我现在正在拍照,但使用我的Nexus 5前置摄像头,预览尺寸为1280x960,播放服务似乎将图片大小设置为320x240。

我检查了一下,预览和图片都支持1280x960。

我尝试使用反射改变参数(与焦点相同),但没有任何改变。似乎有必要在开始预览之前更改它…

我一直在尝试阅读和调试混淆的代码,但我不明白为什么库决定去这个低分辨率:-(

使用的代码与示例中包含的代码接近,只是添加了使用CameraSource.takePicture(…)拍照的可能性

您可以在示例repo 中找到代码。

重现问题的代码=>这里

我用:

mCameraSource = new CameraSource.Builder(context, detector)
    .setRequestedPreviewSize(1280, 960)
            .setFacing(CameraSource.CAMERA_FACING_FRONT)
            .setRequestedFps(30.0f)
            .build();

添加了一个按钮并连接了一个点击监听器:

findViewById(R.id.snap).setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            mCameraSource.takePicture(null, new CameraSource.PictureCallback() {
                @Override
                public void onPictureTaken(byte[] bytes) {
                    Bitmap bmp = BitmapFactory.decodeByteArray(bytes, 0, bytes.length);
                    Log.d("BITMAP", bmp.getWidth() + "x" + bmp.getHeight());
                }
            });
        }
    });
日志输出:
BITMAP﹕ 320x240

我们最近开源了CameraSource类。在这里看到的:

https://github.com/googlesamples/android-vision/blob/master/visionSamples/barcode-reader/app/src/main/java/com/google/android/gms/samples/vision/barcodereader/ui/camera/CameraSource.java

这个版本包含了对图片大小问题的修复。它将自动选择相机支持的最高分辨率,该分辨率与预览的宽高比相匹配。

相关内容

  • 没有找到相关文章

最新更新