博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
基于OpenCV实现的Android移动端口红AR
阅读量:6869 次
发布时间:2019-06-26

本文共 452 字,大约阅读时间需要 1 分钟。

这个是我们去年想做的一个项目,后来因为各种原因就此搁浅了。但是算法部分我已经把它基本成型了,对各种光线条件下都可以准确的找到嘴唇,提取唇形、然后通过色彩渲染自动变化颜色,实现各种颜色的口红实时渲染,基于OpenCV与Android NDK完成的算法演示。

算法的主要思路首先是通过人脸检测寻找到人脸区域,一旦找到之后就会使用跟踪算法对人脸部位进行跟踪、人脸检测算法可以选择Face++或者OpenCV自带的算法,然后对下部区域进行嘴唇检测,找到之后,选择不同光照下的嘴唇图像,提取ROI如下:

这里写图片描述

提取了超过1000张作为算法测试,根据这些提取得到上部唇形

这里写图片描述

进一步处理之后得到下部唇形状

这里写图片描述

对整个唇形数据处理之后得到

这里写图片描述

基本的命中率在99%左右,通过缓存等技术手段,达到实时不丢帧渲染,最终的渲染效果如下: 红色简单着色

这里写图片描述

蓝色简单着色

这里写图片描述

算法不足之处

渲染这块后来因为各种原因,没有去做,主要是没有钱继续下去,就成这个样子!但是整个基于OpenCV实现的移动端AR口红渲染整个实现步骤基本如此!

欢迎大家留言!!!

你可能感兴趣的文章
程序史记:从巴贝奇、爱达到图灵
查看>>
Solidworks工程图如何使用,替换图纸格式模板文件
查看>>
系统重装 如何转换GPT的磁盘格式为MBR或者反过来
查看>>
Window Location对象
查看>>
【Java面试题】44 java中有几种类型的流?JDK为每种类型的流提供了一些抽象类以供继承,请说出他们分别是哪些类?...
查看>>
Win10系列:JavaScript动画4
查看>>
A Deep Compositional Framework for Human-like Language Acquisition in Virtual Environment
查看>>
C#.NET的TabControl如何隐藏和显示页面
查看>>
发布/订阅
查看>>
Maven项目打包,Jar包不更新的问题
查看>>
tkinter 对键盘和鼠标事件的处理
查看>>
vuex
查看>>
iOS键盘类型以及样式展示
查看>>
servlet的url-pattern匹配规则详细描述
查看>>
winform的combox下拉框绑定数据源
查看>>
HDU 5296 Annoying problem
查看>>
容器 What, Why, How - 每天5分钟玩转容器技术(6)
查看>>
VUE2.0学习总结
查看>>
阴阳,密码管理
查看>>
unity, 删除animationClip中的position曲线
查看>>