当检测到脸部时如何减少android中的图像捕获时间?

问题描述

我已经构建了一个Android应用程序,可以检测眨眼并捕获图像,并将其保存到位图图像中,并使用该图像进行其他活动。捕获图像时需要一些时间。在那个时候,人们可以在镜头前给另一张图像,然后相机捕捉到该图像。为了解决这个问题,我想更快地捕获图像。我怎样才能做到这一点?如果有人有更好的解决方案,请提供。我使用了Google视觉人脸检测API和视觉camerasourcepreview。

为获得更好的信息,我提供了一些代码

       if(blinkTracker ==null) {

        blinkTracker = new BlinkTracker(new BlinkActionInterface() {
            @Override
            public void onBlink(int count) {
               
                setAnimatedProgressbar(count);
            }

            @Override
            public void takePhoto() {
                mCameraSource.takePicture(null,new CameraSource.PictureCallback() {
                @Override
                public void onPictureTaken(final byte[] bytes) {
                   
                   int orientation = Exif.getOrientation(bytes);

                   Bitmap   bitmap = BitmapFactory.decodeByteArray(bytes,bytes.length);
                   switch(orientation) {
                     case 90:
                          bitmap= rotateImage(bitmap,90);
                          break;
                     case 180:
                          bitmap= rotateImage(bitmap,180);
                          break;
                     case 270:
                          bitmap= rotateImage(bitmap,270);
                          break;
                     case 0:
                        // if orientation is zero we don't need to rotate this

                     default:
                          break;
                  }

 

                  bitmap = Bitmap.createScaledBitmap(bitmap,240,320,false);

                  ByteArrayOutputStream stream = new ByteArrayOutputStream();

                  bitmap.compress(Bitmap.CompressFormat.JPEG,100,stream);
   
                  Photo.setPersonPhoto(stream.toByteArray());

                  startActivity(newIntent(this,otherActivity.class);
               }
              )};
            }


            @Override
            public void onMissFace() {

                showStatus(getString("No face"));
            }

            @Override
            public void removeMissingText() {
                showStatus(getString("please blink"));

            }

        });
    }

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)