V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
tysb777
V2EX  ›  微信

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

  •  
  •   tysb777 · 2018-12-28 11:47:07 +08:00 · 2547 次点击
    这是一个创建于 2158 天前的主题,其中的信息可能已经有所发展或是发生改变。

    介绍

    一诞是一款基于腾讯云的人脸识别、五官定位的圣诞主题小程序。开始做它的初衷是为了简化用户操作,与其他手动添加帽子的小程序形成差别,所见即所得。 但是在开发的适合遇到了一些问题,没有完美的方案来根据五官定位 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_)

    image

    总结

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

    GitHub: 本文项目仓库

    WeChat: tysb7_

    blog: www.tysb7.cn

    Email: [email protected]

    SSl: 环洋诚信™

    目前尚无回复
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   952 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 22:44 · PVG 06:44 · LAX 14:44 · JFK 17:44
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.