- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要比较java中的两张人脸图像以及它们的置信度值。我正在尝试学习阅读face++提供的官方文档,但我认为它有点差。我需要在这里使用人脸比较API:https://console.faceplusplus.com/documents/5679308 。我不明白如何构建发送请求的网址。页面末尾有这样一段代码:
curl -X POST "https://api-us.faceplusplus.com/facepp/v3/compare" \
-F "api_key=<api_key>" \
-F "api_secret=<api_secret>" \
-F "face_token1=c2fc0ad7c8da3af5a34b9c70ff764da0" \
-F "face_token2=ad248a809408b6320485ab4de13fe6a9"
现在,我在他们的文档中看到的唯一代码是:
https://console.faceplusplus.com/documents/7078069
但它不起作用,或者至少,这不适用于“面部比较”。
我需要创建并获取面部比较 API 的请求(开头的第一个链接)。我找不到任何有关如何执行此操作的 java 示例。我是用java做的
最佳答案
使用文档中提供的相同sample code,您所需要做的就是更改 main 方法,如下所示:
public static void main(String[] args) throws Exception{
// Create a new file object for the first file and get bytes from file
File file = new File("C:\\Users\\ihene\\Desktop\\my-photo.jpg");
byte[] buff1 = getBytesFromFile(file);
// Create a new file object for the second file and get bytes from file
File file2 = new File("C:\\Users\\ihene\\Desktop\\esan-caleb.jpg");
byte[] buff2 = getBytesFromFile(file2);
// Data needed to use the Face++ Compare API
String url = "https://api-us.faceplusplus.com/facepp/v3/compare";
HashMap<String, String> map = new HashMap<>();
HashMap<String, byte[]> byteMap = new HashMap<>();
map.put("api_key", "dam4ZdTkSsZOUAiR4oQpP3DRnjEz1fcD");
map.put("api_secret", "0MOCfpum1Lec06EMOzuJPOEa_EhM4Ttg");
byteMap.put("image_file1", buff1);
byteMap.put("image_file2", buff2);
try {
// Connecting and retrieving the JSON results
byte[] bacd = post(url, map, byteMap);
String jsonStr = new String(bacd);
// Parse the JSON and get the confidence value
JSONObject obj = new JSONObject(jsonStr);
double confidence = obj.getDouble("confidence");
System.out.println(confidence);
} catch (Exception e) {
e.printStackTrace();
}
}
只需将 PATH_TO_FILE_1
、PATH_TO_FILE_2
、YOUR_API_KEY
和 YOUR_API_SECRET
替换为适当的值即可。它应该可以工作。
我使用两张脸部属于同一个人的图像和另外两张不同脸部的图像测试了 API。这是我得到的前者的输出:
{"faces1": [{"face_rectangle": {"width": 156, "top": 210, "left": 142, "height": 156}, "face_token": "1ee9de6d362b0c8c1bf240a70fbf3eac"}], "faces2": [{"face_rectangle": {"width": 156, "top": 210, "left": 142, "height": 156}, "face_token": "0a7c539f3603aa744ee18c65acc224a8"}], "time_used": 531, "thresholds": {"1e-3": 62.327, "1e-5": 73.975, "1e-4": 69.101}, "confidence": 97.389, "image_id2": "Fc64vrBtETVmP2cS+BoW/Q==", "image_id1": "Fc64vrBtETVmP2cS+BoW/Q==", "request_id": "1569184566,0cc04f1a-1495-4316-928c-1efe7d6836dc"}
请注意,此处的置信度为 97.389。 documentation 表示“置信度越高,表明两张脸属于同一个人的可能性就越高。”所以,这符合我们的预期。对于后面具有不同面孔的图像,输出如下:
{"faces1": [{"face_rectangle": {"width": 156, "top": 210, "left": 142, "height": 156}, "face_token": "c7d8561f0235a99d9b060750c7a9c3c7"}], "faces2": [{"face_rectangle": {"width": 75, "top": 44, "left": 53, "height": 75}, "face_token": "ad87092cb593128c015c2e2221b962f2"}], "time_used": 533, "thresholds": {"1e-3": 62.327, "1e-5": 73.975, "1e-4": 69.101}, "confidence": 53.993, "image_id2": "MiZOf00hrq7OmAxc3+n7sg==", "image_id1": "Fc64vrBtETVmP2cS+BoW/Q==", "request_id": "1569185082,0bfd0a0f-a376-4dac-92bd-924c34ef76ed"}
此处,置信度为 53.933。
关于java - Face++ 比较 API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58052941/
我想使用 NetworkX Graph 对象作为 Python dict 中的键。但是,我不希望默认的比较行为(即通过对象的地址)。相反,我希望同构图是 dict 中相同元素的键。 此行为是否已在某处
这个问题已经有答案了: What is the most effective way for float and double comparison? (33 个回答) 已关闭 7 年前。 在您认为我
我正在学习 C 编程,为了练习,我找到了一个需要解决的任务。这有点像一个游戏,有人选择一个单词,其他人猜测字母。我必须检查有多少给定的单词可能是所选单词的正确答案。 输入: 3 3//数字 n 和 m
我两天前开始学习C,在做作业时遇到了问题。我们的目的是从字符数组中获取字符列表,并通过计算连续字符并将其替换为数字来缩短它。对“a4b5c5”说“aaaabbbbbccccc”。这是我到目前为止的代码
已关闭。此问题需要 debugging details 。目前不接受答案。 编辑问题以包含 desired behavior, a specific problem or error, and the
为什么我在 if 中的比较不起作用?答案应该是 8 但它返回 0。 function findMissing(missingArray){ var getArray = missing
我想知道为什么以下 JavaScript 比较会给出不同的结果。 (1==true==1) true (2==true==2) false (0==false==0) false (0==false)
我想知道是否有人可以帮助我完成这个程序。编写一个接受两个字符串的函数。该函数应该将这两个字符串与字典顺序上排在第一位的字符串组合起来。两个字符串之间应该有一个空格。在一行上打印结果字符串。在一行上打印
有谁知道一个免费的开源库(实用程序类),它允许您比较一个 Java bean 的两个实例并返回一个属性列表/数组,这两个实例的值不同?请发布一个小样本。 干杯 托马斯 最佳答案 BeanCompara
我是java新手。任何人都可以给出以下类声明的含义 public class ListNode, V> { K key; V value; ListNode next;
我需要用 C 语言计算和比较 3 种不同大小(100 * 100、1000 * 1000 和 10000 * 10000)的 2 个矩阵相乘的执行时间。我编写了以下简单代码来为 1000 * 1000
当我在 ACCESS 2007 中运行以下 SQL 时 Select Location, COUNT(ApartmentBuildings) AS TotalIBuildingsManaged Fro
根据我对互斥锁的了解——它们通常提供对共享资源的锁定功能。因此,如果一个新线程想要访问这个锁定的共享资源——它要么退出,要么必须不断轮询锁(并在等待锁时浪费处理器周期)。 但是,监视器具有条件变量,它
通常在编程中,不应该比较浮点数据类型是否相等,因为存储的值通常是近似值。 由于两个非整数 Oracle NUMBER 值的存储方式不同(以 10 为基数),是否可以可靠地比较它们是否相等? 最佳答案
使用 PowerShell 时,我们偶尔会比较不同类型的对象。一个常见的场景是 $int -eq $bool (即其中 0 -eq $false 、 0 -ne $true 和任何非零值仅等于真,但不
#include #define MAX 1000 void any(char s1[], char s2[], char s3[]); int main() { char string1[
我想比较两个日期。 从这两个日期中,我只使用 ToShortDateString() 获取日期组件, 如下所示。现在的问题是当我比较两个日期时。它的 throw 错误—— "Operator >= c
用户输入一个数字( float 或整数),并且它必须大于下限。 这是从 UITextField 获取数字的代码: NSNumberFormatter * f = [[NSNumberFormatter
我已经摆弄这段代码大约一个小时了,它让我难以置信。我认为解决方案相当简单,但我似乎无法弄清楚。无论如何,这里去。我制作了一个 javascript 函数来检查用户输入的字符,以便它只能接受 7 个字符
我不太明白为什么当我们在不覆盖 equals 的情况下比较具有相同类属性的两个实例时方法,它将给出 false .但它会给出 true当我们比较一个案例类的两个实例时。例如 class A(val
我是一名优秀的程序员,十分优秀!