发送人脸检测请求

向 Cloud Vision API 发送检测图片中的人脸的请求。

包含此代码示例的文档页面

如需查看上下文中使用的代码示例,请参阅以下文档:

代码示例

C#

在试用此示例之前,请按照Vision 快速入门:使用客户端库中的 C# 设置说明进行操作。 如需了解详情,请参阅 Vision C# API 参考文档

var response = client.DetectFaces(Image.FromFile(args[0]));

Java

在试用此示例之前,请按照Vision 快速入门:使用客户端库中的 Java 设置说明进行操作。 如需了解详情,请参阅 Vision Java API 参考文档

/** Gets up to {@code maxResults} faces for an image stored at {@code path}. */
public List<FaceAnnotation> detectFaces(Path path, int maxResults) throws IOException {
  byte[] data = Files.readAllBytes(path);

  AnnotateImageRequest request =
      new AnnotateImageRequest()
          .setImage(new Image().encodeContent(data))
          .setFeatures(
              ImmutableList.of(
                  new Feature().setType("FACE_DETECTION").setMaxResults(maxResults)));
  Vision.Images.Annotate annotate =
      vision
          .images()
          .annotate(new BatchAnnotateImagesRequest().setRequests(ImmutableList.of(request)));
  // Due to a bug: requests to Vision API containing large images fail when GZipped.
  annotate.setDisableGZipContent(true);

  BatchAnnotateImagesResponse batchResponse = annotate.execute();
  assert batchResponse.getResponses().size() == 1;
  AnnotateImageResponse response = batchResponse.getResponses().get(0);
  if (response.getFaceAnnotations() == null) {
    throw new IOException(
        response.getError() != null
            ? response.getError().getMessage()
            : "Unknown error getting image annotations");
  }
  return response.getFaceAnnotations();
}

Node.js

在试用此示例之前,请按照Vision 快速入门:使用客户端库中的 Node.js 设置说明进行操作。 如需了解详情,请参阅 Vision Node.js API 参考文档

async function detectFaces(inputFile) {
  // Make a call to the Vision API to detect the faces
  const request = {image: {source: {filename: inputFile}}};
  const results = await client.faceDetection(request);
  const faces = results[0].faceAnnotations;
  const numFaces = faces.length;
  console.log(`Found ${numFaces} face${numFaces === 1 ? '' : 's'}.`);
  return faces;
}

PHP

在试用此示例之前,请按照Vision 快速入门:使用客户端库中的 PHP 设置说明进行操作。 如需了解详情,请参阅 Vision PHP API 参考文档

# annotate the image
// $path = 'path/to/your/image.jpg'
$image = file_get_contents($path);
$response = $imageAnnotator->faceDetection($image);
$faces = $response->getFaceAnnotations();

Python

在试用此示例之前,请按照Vision 快速入门:使用客户端库中的 Python 设置说明进行操作。 如需了解详情,请参阅 Vision Python API 参考文档

def detect_face(face_file, max_results=4):
    """Uses the Vision API to detect faces in the given file.

    Args:
        face_file: A file-like object containing an image with faces.

    Returns:
        An array of Face objects with information about the picture.
    """
    client = vision.ImageAnnotatorClient()

    content = face_file.read()
    image = vision.Image(content=content)

    return client.face_detection(
        image=image, max_results=max_results).face_annotations

Ruby

在试用此示例之前,请按照Vision 快速入门:使用客户端库中的 Ruby 设置说明进行操作。 如需了解详情,请参阅 Vision Ruby API 参考文档

response = image_annotator.face_detection image: path_to_image_file

后续步骤

如需搜索和过滤其他 Google Cloud 产品的代码示例,请参阅 Google Cloud 示例浏览器