[机器学习]前端机器学习:识别人脸,并在脸颊上画草莓( 三 )

(4)获取草莓倾斜弧度
我们可以根据眉毛的中点和下颚的最低点两个点计算出脸的弧度 , 即草莓的弧度:
// 获取脸的倾斜弧度const getFaceRadian = (jawPos, midPointOfEyebrows) => Math.PI - Math.atan2(jawPos.x - midPointOfEyebrows.x, jawPos.y - midPointOfEyebrows.y)4. 画草莓
有了前面的内容 , 画草莓就简单了 。 先将原图画上去 , 再在原图的基础上画上草莓:
// 画草莓function drawBerry(ctx, config, berryUrl) { const { angle, faceWidth, facePos } = config getImg(berryUrl, (img) => { ctx.save // 移动画布原点到画草莓的位置 ctx.translate(facePos.point.x, facePos.point.y) // 旋转草莓的角度和脸的角度一致 ctx.rotate(angle) // 调整草莓的位置 const { x, y, width, height } = transBerry(faceWidth, 0, 0, facePos.dir) ctx.drawImage(img, x, y, width, height) ctx.restore })}// 获取图片function getImg(src, cb) { const img = new Image img.setAttribute('crossOrigin', 'anonymous') img.src = http://news.hoteastday.com/a/src img.onload = => cb(img)} 限于篇幅 , 文中只提及了部分重点代码 , 需要看完整代码的可以点这里:https://github.com/usecodelee/mldrawberry
原文链接:
https://blog.csdn.net/caomage/article/details/103751111
作为“百万人学AI”的重要组成部分 , 2020 AIProCon 开发者万人大会将于6月26日通过线上直播形式 , 让开发者们一站式学习了解当下 AI 的前沿技术研究、核心技术与应用以及企业案例的实践经验 , 同时还可以在线参加精彩多样的开发者沙龙与编程项目 。 参与前瞻系列活动、在线直播互动 , 不仅可以与上万名开发者们一起交流 , 还有机会赢取直播专属好礼 , 与技术大咖连麦 。
评论区留言入选 , 可获得价值299元的「2020 AI开发者万人大会」在线直播门票一张 。快来动动手指 , 写下你想说的话吧!
热 文 推 荐
?编程基础知识真的是九阳神功吗? ?在家办公的我 , 砍需求砍得更狠了 ?科技公司都是如何应对 COVID-19? ?瑞幸咖啡自曝虚假交易 22 亿 , App 反冲 TOP 1 ?在Kubernetes上部署一个简单的、类PaaS的平台 , 原来这么容易!
?旷视提双边分支网络BBN:攻坚长尾分布的现实世界任务 | CVPR 2020 Oral
?2020年 , 这20个大家都认识的加密交易所过得怎么样?


推荐阅读