如何在Java中检测图像中的人脸


在过去十年中,人脸检测技术已经走了很长一段路。它从简单的计算机视觉技术开始,发展到复杂的AI和其他最新技术。之所以成为如此完整的创新,是因为它在众多面部识别过程中起着第一步的作用。

人脸检测通常与人脸识别可互换使用,但实际上这两个术语有两个不同的定义。人脸检测是一种特殊功能,可以发现和识别图像或视频中的人脸,而人脸识别是一种从人脸识别或验证个人身份的方法。

在本文中,我们将提供有关如何使用面部检测API即时定位和识别图像中所有面部位置的分步教程。这对于网站协助元数据输入,字幕和可访问性功能特别有用。

首先,我们将通过在pom.xml中添加对存储库的引用来安装Maven SDK:

<repositories>
    <repository>
        <id>jitpack.io</id>
        <url>https://jitpack.io</url>
    </repository>
</repositories>

接下来,我们将添加对依赖项的引用:

<dependencies>
<dependency>
    <groupId>com.github.Cloudmersive</groupId>
    <artifactId>Cloudmersive.APIClient.Java</artifactId>
    <version>v3.54</version>
</dependency>
</dependencies>

现在,我们已经安装了该软件包,我们可以继续使用以下代码来调用人脸检测功能:

// Import classes:
//import com.cloudmersive.client.invoker.ApiClient;
//import com.cloudmersive.client.invoker.ApiException;
//import com.cloudmersive.client.invoker.Configuration;
//import com.cloudmersive.client.invoker.auth.*;
//import com.cloudmersive.client.FaceApi;

ApiClient defaultClient = Configuration.getDefaultApiClient();

// Configure API key authorization: Apikey
ApiKeyAuth Apikey = (ApiKeyAuth) defaultClient.getAuthentication("Apikey");
Apikey.setApiKey("YOUR API KEY");
// Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
//Apikey.setApiKeyPrefix("Token");

FaceApi apiInstance = new FaceApi();
File imageFile = new File("/path/to/inputfile"); // File | Image file to perform the operation on.  Common file formats such as PNG, JPEG are supported.
try {
    FaceLocateResponse result = apiInstance.faceLocate(imageFile);
    System.out.println(result);
} catch (ApiException e) {
    System.err.println("Exception when calling FaceApi#faceLocate");
    e.printStackTrace();
}

返回的结果将指示已识别出多少张脸,以及它们所在的照片象限。为确保结果高效且准确,需要满足以下参数:

  • API密钥-要检索您的个人API密钥,请访问Cloudmersive网站以注册免费帐户;这将使您可以每月拨打800个电话
  • 图像文件-支持PNG和JPEG等常见文件格式 总之,我们希望您对本教程有所帮助并且易于阅读。如果您想进一步研究面部识别之旅,我们还有其他一些您可能会感兴趣的功能,例如具有标志性的面部检测,年龄检测,面部裁剪等!


原文链接:http://codingdict.com