这个是人脸识别时无法检测到图片报的错,有时候我们检测一张图片是否在库里面,当一张图片明显在里面,还检测不到,如下面是我的代码

 package Test1;

 import java.io.IOException;
import java.util.Arrays;
import java.util.HashMap; import org.json.JSONObject; import com.baidu.aip.face.AipFace; /**
* 人脸对比
*/
public class BaiduFaceTest { // 这里填写你自己应用的三项
public static final String APP_ID = "";
public static final String API_KEY = "iinpWTE1pvOnH3YNmk4tG5Z6";
public static final String SECRET_KEY = "LMl3pgidH2AzGcTnOM3qh1x3GFnh6jt5"; public static void main(String[] args) throws IOException {
AipFace client = new AipFace(APP_ID, API_KEY, SECRET_KEY); String image1 = "C:\\Users\\19575\\Pictures\\Saved Pictures\\紫霞仙子\\a.jpg";
String image2 = "C:\\Users\\19575\\Pictures\\Saved Pictures\\紫霞仙子\\b.jpg"; JSONObject rs = client.search(image1, "BASE64", "group002", new HashMap<>());
// JSONObject rs=client.detect(image1, "URL", new HashMap<>());
System.out.println(rs.toString()); } }

最后才搞明白是因为我们必须把图片转为BASE64才能正确的和库里面的图片比对,下面引入了加密函数

 package Test1;

 import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.HashMap; import org.json.JSONObject; import com.baidu.aip.face.AipFace; import sun.misc.BASE64Encoder; /**
* 人脸对比
*/
public class BaiduFaceTest { // 这里填写你自己应用的三项
public static final String APP_ID = "";
public static final String API_KEY = "iinpWTE1pvOnH3YNmk4tG5Z6";
public static final String SECRET_KEY = "LMl3pgidH2AzGcTnOM3qh1x3GFnh6jt5"; public static void main(String[] args) throws IOException {
AipFace client = new AipFace(APP_ID, API_KEY, SECRET_KEY); String image1 = "C:\\Users\\19575\\Pictures\\Saved Pictures\\紫霞仙子\\c.jpg";
System.out.println(image1);
String image2 = "C:\\Users\\19575\\Pictures\\Saved Pictures\\紫霞仙子\\b.jpg"; String msg=GetImageStr(image1);
JSONObject rs = client.search(msg, "BASE64", "group002", new HashMap<>());
// JSONObject rs=client.detect(image1, "URL", new HashMap<>());
System.out.println(rs.toString()); }
public static String GetImageStr(String imgFile)
{//将图片文件转化为字节数组字符串,并对其进行Base64编码处理
InputStream in = null;
byte[] data = null;
//读取图片字节数组
try
{
in = new FileInputStream(imgFile);
data = new byte[in.available()];
in.read(data);
in.close();
}
catch (IOException e)
{
e.printStackTrace();
}
//对字节数组Base64编码
BASE64Encoder encoder = new BASE64Encoder();
return encoder.encode(data);//返回Base64编码过的字节数组字符串
} }

不过加密解密函数无法直接使用,需要通过下面这个教程把自带的jar包导进去

https://blog.csdn.net/u011514810/article/details/72725398

这样可以正确的检测到图片了。

{ "result": null, "log_id": 304592860300941982, "error_msg": "image check fail", "cached": 0, "error_code": 222203, "timestamp": 1556030094 }的更多相关文章

  1. node js fcoin api 出现 api key check fail : {"status":1090,"msg":"Illegal API signature"}

    //主区://ft / btc 不支持市价 买入数量不能小于5个FT 买//ft / eth 支持市价 最小买入eth不能小于0.01 买//ft / usdt 支持市价 最小买入usdt不能小于10 ...

  2. Check failed: mdb_status == 0 (13 vs. 0) Permission denied

    文件权限问题. chown或者chmod即可 另外注意lmdb文件的权限

  3. Required field 'client_protocol' is unset! Struct:TOpenSessionReq(client_protocol:null, configuration:{use:database=default}) (state=08S01,code=0)

    sparksql 2.和hive2.1.1 由于sparksql中的hive-cli 等包的版本是1.2的需要自己下载,下载替换之后不报错,替换之前做好备份

  4. Check failed: mdb_status == 0 (2 vs. 0) No such file or directory

    运行  ./examples/mnist/train_lenet.sh  时,碰到了这个问题. 一定是路径问题!!!仔细查看prototxt文件里面的各种路径!!! 解决方案: 把.prototxt里 ...

  5. ConcurrentHashMap源码解析(JDK1.8)

    package java.util.concurrent; import java.io.ObjectStreamField; import java.io.Serializable; import ...

  6. proxySQL with SemiSync

    环境信息 hostname IP port role comm ms81 192.168.188.81 3399 master ms82 192.168.188.82 3399 slave ms83 ...

  7. MySQL ProxySQL读写分离使用初探

    目的 在美团点评DBProxy读写分离使用说明文章中已经说明了使用目的,本文介绍ProxySQL的使用方法以及和DBProxy的性能差异.具体的介绍可以看官网的相关说明,并且这个中间件也是percon ...

  8. TransactionTemplate编程式事务管理方式的进阶使用---自定义拓展模板类

    1, 前面一篇的文章介绍了TransactionTemplate的基本使用方法. 同事在其基础上又做了一层封装,这样更贴合本公司的业务与规范. 2, 首先定义了两个接口: ServiceTemplat ...

  9. 用shell脚本挂载linux主机拷贝相应文件copy.sh

    #!/bin/sh # $1 MOUNTDIR $2 TARGETDIR $3 ERRORLOG #参数检查 if test $# -ne 3 then echo "argument che ...

随机推荐

  1. maven学习5 构建MyBatis项目

    2. 修改pom.xml,添加MyBatis依赖 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi=& ...

  2. Python之二维数组N*N顺时针旋转90度

    需求:把一个二维数组顺时针旋转90度,现实数据的替换. 比如把4*4的二维数组顺时针旋转90度 原始数据是一个嵌套列表:[['A', 'B', 'C', 'D'], ['A', 'B', 'C', ' ...

  3. Java面向对象-构造方法,this关键字

    Java面向对象-构造方法,this关键字 构造方法 概念:构造方法是一个特殊的方法,这个特殊方法用于创建实例时执行初始化操作: 上代码: package com.java1234.chap03.se ...

  4. 1&nbsp;任务管理&nbsp;&nbsp;--转载于电子工程世界

    uC/OS-II 中最多可以支持64 个任务,分别对应优先级0-63,其中0 为最高优先级.63为最低级,系统保留了4个最高优先级的任务和4个最低优先级的任务,所有用户可以使用的任务数有56个. uC ...

  5. linux中stdout,stdin,stderr意义

    stdout, stdin, stderr的中文名字分别是标准输出,标准输入和标准错误. 在Linux下,当一个用户进程被创建的时候,系统会自动为该进程创建三个数据流,也就是题目中所提到的这三个.那么 ...

  6. 【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 5 Octave Tutorial—5.4 绘制数据图

    5.4 绘制数据图 参考视频: 5 - 4 - Plotting Data (10 min) 5.4.1 绘制曲线 1.画一个sin曲线 >> t = [:0.01:0.98]; > ...

  7. Python名称空间和闭包

    一.名称空间 1.定义:又名 name space,顾名思义,就是存放名字的地方.比如:若变量x = 1,1存放在内存中, 而名称空间正是存放名字x与1绑定关系的地方. 2.分类: locals : ...

  8. 【HDU4303】Hourai Jeweled

    题意 有一棵n个结点的树,每个结点都有一个值,没一条边都有一个颜色.如果某条路径上,相邻的边颜色不同,那么把这路径上所有的点的值加起来. 输出所有符合条件的路径上值的和. n<=300000. ...

  9. Java,Calendar -- 获取当前日期、当月月初日期、月末日期

    public class CalendarTest { public static void main(String[] args) { // 获取当前年份.月份.日期 Calendar cale = ...

  10. 【总结整理】KANO 模型

    c 基本(必备)型需求——Must-beQuality/ Basic Quality. 期望(意愿)型需求——One-dimensional Quality/ Performance Quality. ...