小编Ate*_*man的帖子

如何在使用Android移动视觉库时处理单个相机帧

我正在尝试使用带有自定义相机实例的Google移动视觉API制作一个检测面孔的相机应用程序,而不是Google API中的"CameraSource",因为我也处理帧以检测颜色,而且使用Camerasource我不是允许获取相机帧.

在搜索到这个问题之后,我发现的唯一结果是使用移动视觉和CameraSource,而不是使用任何自定义camera1 API.我试图覆盖帧处理,然后对输出的图片进行检测,如下所示:

camera.setPreviewCallback(new Camera.PreviewCallback() {
            @Override
            public void onPreviewFrame(byte[] data, Camera camera) {
                Log.d("onPreviewFrame", "" + data.length);
                Camera.Parameters parameters = camera.getParameters();
                int width = parameters.getPreviewSize().width;
                int height = parameters.getPreviewSize().height;
                ByteArrayOutputStream outstr = new ByteArrayOutputStream();
                Rect rect = new Rect(0, 0, width, height);
                YuvImage yuvimage = new YuvImage(data, ImageFormat.NV21, width, height, null);
                yuvimage.compressToJpeg(rect, 20, outstr);
                Bitmap bmp = BitmapFactory.decodeByteArray(outstr.toByteArray(), 0, outstr.size());
                detector = new FaceDetector.Builder(getApplicationContext())
                        .setTrackingEnabled(true)
                        .setClassificationType(FaceDetector.ALL_LANDMARKS)
                        .setMode(FaceDetector.FAST_MODE)
                        .build();

                detector.setProcessor(
                        new MultiProcessor.Builder<>(new GraphicFaceTrackerFactory())
                                .build());

                if (detector.isOperational()) {
                    frame = …
Run Code Online (Sandbox Code Playgroud)

camera android face-detection android-vision

7
推荐指数
1
解决办法
2766
查看次数

标签 统计

android ×1

android-vision ×1

camera ×1

face-detection ×1