基于OpenCV实现的Android移动端口红AR

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

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

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

这里写图片描述

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

进一步处理之后得到下部唇形状
这里写图片描述

对整个唇形数据处理之后得到
这里写图片描述

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

蓝色简单着色
这里写图片描述

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

欢迎大家留言!!!

目录
相关文章
|
2月前
|
设计模式 测试技术 vr&ar
提升你的Android开发技能:从AR/VR沉浸到UI设计和故障排除(三)
提升你的Android开发技能:从AR/VR沉浸到UI设计和故障排除
|
2月前
|
人工智能 机器人 区块链
提升你的Android开发技能:从AR/VR沉浸到UI设计和故障排除(二)
提升你的Android开发技能:从AR/VR沉浸到UI设计和故障排除
|
2月前
|
缓存 Java vr&ar
提升你的Android开发技能:从AR/VR沉浸到UI设计和故障排除(一)
提升你的Android开发技能:从AR/VR沉浸到UI设计和故障排除
|
3月前
|
监控 Android开发 开发者
Android平台GB28181设备接入端本地SIP端口被占用或屏蔽怎么办?
好多开发者或厂商,对Android平台GB28181接入模块的定位,大多是IPC国标流程打通模拟,基于这个目的,很难按照标准SPEC规范实现Android平台GB28181设备接入,我们在跟第三方国标平台厂商对接时发现,部分公司,尽管参与了标准的制定或审校,自身实现,细节仍不尽人意。
|
10月前
|
Android开发
android 无法绑定 1024 以下端口
android 无法绑定 1024 以下端口
56 0
|
XML vr&ar Android开发
【Android】Android与Unity安卓AR通信(3)
unity导出作为安卓项目中的库来使用 1. 首先打开一个安卓项目 2. 准备好unity中Export出的安卓包
203 0
|
Java 开发工具 Android开发
Android Studio OpenCV 4.5.2环境搭建
Android Studio OpenCV 4.5.2环境搭建
437 0
|
算法 Java Unix
OpenCV 在 Android 上的应用
OpenCV 在 Android 上的应用
413 0
|
网络协议 开发工具 Android开发
【Android 逆向】Android 逆向通用工具开发 ( adb forward 网络端口重定向命令 | PC 端逆向程序主函数分析 )
【Android 逆向】Android 逆向通用工具开发 ( adb forward 网络端口重定向命令 | PC 端逆向程序主函数分析 )
245 0
【Android 逆向】Android 逆向通用工具开发 ( adb forward 网络端口重定向命令 | PC 端逆向程序主函数分析 )
|
计算机视觉 UED
Android+OpenCV 摄像头实时识别模板图像并跟踪
Android+OpenCV 摄像头实时识别模板图像并跟踪
292 0
Android+OpenCV 摄像头实时识别模板图像并跟踪
相关产品
机器翻译
推荐文章
更多