【问题标题】:Take photo when face detected检测到人脸时拍照
【发布时间】:2015-02-10 10:16:10
【问题描述】:

我有以下代码,我想在检测到人脸时只自动拍摄一张照片。 我已经实现了自动拍照,但它需要很多照片而没有时间处理它们,因为它会不断检测人脸。我怎样才能让它每 x 分钟搜索一次以找到一张脸或每 x 分钟拍照一次?提前谢谢你。

FaceDetectionListener faceDetectionListener
= new FaceDetectionListener(){

    @Override
    public void onFaceDetection(Face[] faces, Camera camera) {

        if (faces.length == 0){
            prompt.setText(" No Face Detected! ");
        }else{
            //prompt.setText(String.valueOf(faces.length) + " Face Detected :) ");
              try{
                camera.takePicture(myShutterCallback,myPictureCallback_RAW, myPictureCallback_JPG);

               }
               catch(Exception e){

               }
        }


    }};

【问题讨论】:

    标签: android camera android-camera face-detection


    【解决方案1】:
    FaceDetectionListener faceDetectionListener
    = new FaceDetectionListener(){
    
        private boolean processing = false;
    
        public void setProcessing(boolean processing) {
            this.processing = processing;
        }
    
        @Override
        public void onFaceDetection(Face[] faces, Camera camera) {
            if (processing) return;
    
            if (faces.length == 0){
                prompt.setText(" No Face Detected! ");
            }else{
                //prompt.setText(String.valueOf(faces.length) + " Face Detected :) ");
                  try{
                       camera.takePicture(myShutterCallback,myPictureCallback_RAW, myPictureCallback_JPG);
                       processing = true;
                   }
                   catch(Exception e){
    
                   }
            }
    
    
        }};
    

    然后您可以在myShutterCallback 中进行任何您想要的处理,并致电faceDetectionListener.setProcessing(false) 拍摄另一张照片。这将保证一次只拍摄一张照片。

    【讨论】:

    • 如果我在你写信给我的时候运行它,它根本不会拍照。我做错了什么?
    猜你喜欢
    • 2017-07-30
    • 2018-02-05
    • 2020-08-03
    • 2018-10-04
    • 2013-09-24
    • 2018-01-23
    • 2021-08-27
    • 2019-11-18
    • 2019-02-27
    相关资源
    最近更新 更多