2017-11-28 36 views
0

Google 시각 API를 사용하여 얼굴을 감지하고 이에 따라 이미지를 자릅니다. 이것은 내 자르기 좌표를 얻는 코드입니다.하지만 그 비트 맵 이미지의 최대 크기를 반환합니다.Google 비전의 CROP_HINTS 사용

   Vision.Builder builder = new Vision.Builder(httpTransport, jsonFactory, null); 
       builder.setVisionRequestInitializer(requestInitializer); 

       Vision vision = builder.build(); 

       BatchAnnotateImagesRequest batchAnnotateImagesRequest = 
         new BatchAnnotateImagesRequest(); 
       batchAnnotateImagesRequest.setRequests(new ArrayList<AnnotateImageRequest>() {{ 
        AnnotateImageRequest annotateImageRequest = new AnnotateImageRequest(); 

        Image base64EncodedImage = new Image(); 
        ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); 
        bitmap.compress(Bitmap.CompressFormat.JPEG, 90, byteArrayOutputStream); 
        byte[] imageBytes = byteArrayOutputStream.toByteArray(); 

        base64EncodedImage.encodeContent(imageBytes); 
        annotateImageRequest.setImage(base64EncodedImage); 

        ArrayList<Feature> features = new ArrayList<>(); 
         Feature cropHints = new Feature(); 
        cropHints.setType("CROP_HINTS"); 
        features.add(cropHints); 
        annotateImageRequest.setFeatures(features); 


        add(annotateImageRequest); 
       }}); 

       Vision.Images.Annotate annotateRequest = 
         vision.images().annotate(batchAnnotateImagesRequest); 

       BatchAnnotateImagesResponse response = annotateRequest.execute(); 
Sting vertices=response.getResponses().get(0).getCropHintsAnnotation().getCropHints().get(0).getBoundingPoly().getVertices().toString()) 

      } 

정점

[{}, {"x":841}, {"x":841,"y":1499}, {"y":1499}] 

답변

0

의 결과는 당신이 여기에 원하는 것은 FACE_DETECTION 기능으로, 그리고 CROP_HINTS. API 요청에서이 값을 변경하면 이미지의 얼굴에 대한 자르기 좌표가 표시됩니다.

응답을 처리하는 방법을 변경해야하지만 API 요청에서 필요한 솔루션을 제공 할 수 있습니다.

{ 
    "requests": [ 
    { 
     "image": { 
     "source": { 
      "imageUri": "<YOUR_SAMPLE_IMAGE_URL>" 
     } 
     }, 
     "features": [ 
     { 
      "type": "FACE_DETECTION" 
     } 
     ] 
    } 
    ] 
} 
+0

내가이 단지 API가 적절한 얼굴 인식을 제공하는지 테스트하는 것이었다 안드로이드 –

+0

에서이 일을 : 난 당신이 같은 JSON을 사용하여 here을 테스트하는 것이 좋습니다. Android 코드에 대해서는 * FACE_DETECTION *에 대해 * CROP_HINTS *를 변경하고 응답 처리 방법을 변경하십시오. – dsesto

+0

이제 FACE_DETECTION을 (를) 사용하고 있습니다.이 좌표를 사용하는 방법을 모르겠다. –