最后编辑于2021-03
小帅拿到了一个手部关键点识别的内测接口。已经有开发者写了PHP的示例。小帅就来写个Java的示例哈。方便咱们Java开发者们哦
- 百科手相的资料
手相其源有西洋、印度和中国三支,中国民间的手相学源远而流长,终成博杂大观。
掌纹也会随着时间发生变化。看手相分男左女右,拿男生举例子,35岁之前看左手,35之后看右手(女生相反)
- 本文其实只是拿关键点简单做一个分析,并不是代表接口所支持功能哦
接口说明可以参考 https://ai.baidu.com/docs#/Body-API/2757b503
基于现有sdk版本进行 实现此接口调用 调用前请自行确认是否已经找梅姐申请了接口权限哦
使用Maven搭建一个工程
pom引入百度Java sdk
// gradle
compile group: 'com.baidu.aip', name: 'java-sdk', version: '4.11.3'
//xml格式会丢失标签。社区技术要看一下哦。语言最好也支持xml 开发者们自行访问以下地址 复制maven的xml配置内容即可
https://mvnrepository.com/artifact/com.baidu.aip/java-sdk/4.11.3
创建一个类来实现手部关键点接口调用
其实就是继承sdk的AipBodyAnalysis
import com.baidu.aip.bodyanalysis.AipBodyAnalysis;
import com.baidu.aip.error.AipError;
import com.baidu.aip.http.AipRequest;
import com.baidu.aip.util.Base64Util;
import com.baidu.aip.util.Util;
import org.json.JSONObject;
import java.io.IOException;
import java.util.HashMap;
public class AipBodyAnalysisInvitation extends AipBodyAnalysis{
//手部关键点识别
static final String HAND_ANALYSIS = "https://aip.baidubce.com/rest/2.0/image-classify/v1/hand_analysis";
public AipBodyAnalysisInvitation(String appId, String apiKey, String secretKey) {
super(appId, apiKey, secretKey);
}
/**
* 手部关键点识别方法
* @param image 手部图片本地路径
* @param options 其他参数
* @return
*/
public JSONObject handAnalysis(String image, HashMap options) {
AipRequest request = new AipRequest();
preOperation(request);
try {
byte[] data = Util.readFileByBytes(image);
String base64Content = Base64Util.encode(data);
request.addBody("image", base64Content);
if (options != null) {
request.addBody(options);
}
request.setUri(HAND_ANALYSIS);
postOperation(request);
return requestServer(request);
} catch (IOException e) {
e.printStackTrace();
return AipError.IMAGE_READ_ERROR.toJsonResult();
}
}
}
准备一个手掌图片
小帅离而立之年还有很久。基于百科所说明,那就使用左手图片
小插曲。如果颜色有问题。会导致识别为空。这个要找梅姐反馈一下。
我这用社区兑换的单反相机 对着自己的左手拍了好几张才有一张符合要求识别出来。
开始用接口去获取手部关键点
Java代码
import org.json.JSONObject;
import java.util.HashMap;
public class TestBody {
public static void main(String[] args) throws Exception{
//自己应用的appid apikey secretkey
AipBodyAnalysisInvitation body = new AipBodyAnalysisInvitation("","","");
//本地图片路径
String path = "/Users/xiaoshuai/Downloads/DSC00286.JPG";
HashMap options = new HashMap();
JSONObject object = body.handAnalysis(path,options);
//输出接口识别内容
System.out.println("object = " + object);
}
}
返回的json数据
21个骨节点坐标信息 过多 就不格式化显示了
{"log_id":88272290779127183,"hand_info":[{"hand_parts":{"11":{"score":0.8971255421638489,"x":491,"y":536},"12":{"score":0.8390465974807739,"x":491,"y":440},"13":{"score":0.7221894264221191,"x":588,"y":845},"14":{"score":0.8876256346702576,"x":588,"y":710},"15":{"score":0.8863898515701294,"x":588,"y":594},"16":{"score":0.8520171642303467,"x":549,"y":498},"17":{"score":0.7608776092529297,"x":684,"y":923},"18":{"score":0.8419321775436401,"x":665,"y":826},"19":{"score":0.8592996597290039,"x":665,"y":749},"0":{"score":0.7820904850959778,"x":472,"y":1444},"1":{"score":0.6027116775512695,"x":317,"y":1251},"2":{"score":0.6802216172218323,"x":240,"y":1096},"3":{"score":0.8013773560523987,"x":259,"y":942},"4":{"score":0.8201335668563843,"x":298,"y":807},"5":{"score":0.7507212162017822,"x":395,"y":845},"6":{"score":0.8637937307357788,"x":395,"y":691},"7":{"score":0.8144635558128357,"x":414,"y":594},"8":{"score":0.8497185111045837,"x":414,"y":498},"9":{"score":0.7746249437332153,"x":491,"y":826},"20":{"score":0.9296111464500427,"x":665,"y":652},"10":{"score":0.8292614221572876,"x":491,"y":671}},"location":{"score":0.9971377849578857,"top":408,"left":182,"width":584,"height":1029}}],"hand_num":1}
21个骨节点手相学的图示和标注图示
接下来咱们就拿着坐标去看个手相
返回的数据如下。从心理自我认为看出。还是很符合小帅的性格的哈。
{
"plam":{
"title":"手相分析",
"tag":"木形手",
"intro":"手相有阴阳男女之分,大小之别,手形之论,金木水火土是手形的基本分法。手形代表着人的吉凶富贵。",
"dec":[
"你的手形为木形手,木形手属于感性,唯美主义,有创造能力的手形。 具此手型的人,智慧颇高,好学深思,冷静善于分析事理,有独立思想,忍耐力特强,受得起沉重打击,不会稍遇挫败便心灰意冷,善于组织,为人慷慨大方,对金钱绝不吝啬,但会留意琐事,这类手型者多为懮思伤脾,甚则肺肾受累。"
]
},
"score":{
"title":"手相分数分析",
"score":91,
"level":"非常好"
}
}
手相详细分析仅作于本帖。娱乐而已。不提供具体接口地址。请知悉
整体来说。接口还是可以的。
梅姐是否考虑增加手掌各个纹理的位置返回呢。这样生命线、事业线、感情线、智慧线就通通都有了。可以让很多产品落地了。哈哈
体验可以用微信扫一扫如下图片
请登录后评论
TOP
切换版块
下面的仅作为娱乐。百度接口没有提供这样的功能接口。
如果需要请私聊 小帅丶 QQ:783021975
哈哈哈
可以到桥下摆摊给人看手相了。
可以哦!
直接群里问一下群管。python我不会。
python运行的时候显示:'AipBodyAnalysis' object has no attribute 'handAnalysis'。请问您知不知道是什么原因呢,非常感谢!
哈哈,有意思
电脑半仙吗,
呵呵,强大.
请问下面手相分析的接口有吗
不是关键点分析厉害。二十这个手相分析厉害了。
来来来,看手相了,看看你的命格如何.
你的提问?
机器人也能扮半仙
谢谢楼主的分享。
点赞! 本质:分析局部细节关键点,并做出相应的反馈!
能不能帮我看一下我的提问?
找梅姐申请接口权限。
图像识别或人体分析qq群。群管 找梅姐
群号在百度ai官网底部各个模块都有提供
怎么开通接口测试权限
怎么开通接口测试权限
可以针对于这个纹理做直线处理。20个坐标点差不多就行。不够继续加。最终这些点连接起来就是纹理曲线了应该。
手掌纹理这个有点难啊……泪奔