“一诞”人脸识别圣诞帽小程序探讨

2018-12-28 11:47:07 +08:00
 tysb777

介绍

一诞是一款基于腾讯云的人脸识别、五官定位的圣诞主题小程序。开始做它的初衷是为了简化用户操作,与其他手动添加帽子的小程序形成差别,所见即所得。 但是在开发的适合遇到了一些问题,没有完美的方案来根据五官定位 API 返回的坐标点来准确的给人物戴上帽子。 最后无奈之下就加入了圣诞贺卡的功能,弱化了生成头像的功能。 小程序全部功能使用云开发,大大减少了一个人的工作量。

贺卡功能介绍

贺卡是我在初中、小学的时候,圣诞最常送的礼物。小程序的转发恰好是赠送贺卡的最好入口,再加上一些抖音的模式。每个用户转发赠送的贺卡内容都会上传(这里忘记征求用户同意),在主页就可以使用摇一摇的方式来查看下一条贺卡内容,并且可以点赞。

五官定位戴帽子

五官定位使用的是腾讯云的 API,它可以返回五官的坐标,了解更多。这里使用云函数可以快速的拿到返回参数,将坐标点绘制在画布上。

安装依赖

    npm i --save image-node-sdk

云函数调用五官定位 API

// 云函数入口文件
const cloud = require('wx-server-sdk')
const {ImageClient} = require('image-node-sdk');
let AppId = ''; // 腾讯云 AppId
let SecretId = ''; // 腾讯云 SecretId
let SecretKey = ''; // 腾讯云 SecretKey
const imgClient = new ImageClient({
  AppId,
  SecretId,
  SecretKey
});
cloud.init()

// 云函数入口函数
exports.main = async(event, context) => {
  const url = event.url;
  const result = await imgClient.faceShape({
    data: {
      appid: AppId,
      mode: 1,
      url,
    },
  });
  return JSON.parse(result.body);
}

接下来就是根据坐标来准确戴帽子了,但是我能力有限,没有一套比较好的方案,只有在正脸情况下能够准确戴上帽子。帽子也是根据坐标点画出来的,非提前画好的图。如果你有好的想法欢迎联系我( WeChat:tysb7_)

总结

这款小程序初衷是为了学习使用腾讯云人脸识别 API,定位是为了蹭热度。但是时间、推广和能力的原因没能打造成一个爆款。不过在从中收获了许多东西,源码已经上传至 GitHub,欢迎大家一起来维护。

GitHub: 本文项目仓库

WeChat: tysb7_

blog: www.tysb7.cn

Email: terry@qiaokr.com

SSl: 环洋诚信™

2496 次点击
所在节点    微信
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/521833

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX