人脸自动贴国旗

(一)简介

国庆快到了,每年这个时候,大家的头像都会贴上国旗水印,然后我就像这刚好可以用opencv + dilb实现一个简单的自动将国旗贴在人脸上,刚好配合gradio写一个简单的demo

gradio官方文档

(二)原理

原理还是很简单的,利用dilb获取人脸关键点位,然后利用简单的图像处理方法,将国旗贴到指定的位置即可。缺点就是人脸最好不要有遮挡,最好是正脸,否则国旗可能贴外或者获取不到人脸关键点

下面是人脸关键点图,关键点获取的代码以前写过,详见链接传送门

人脸自动贴国旗_第1张图片
项目代码gitee链接传送门,仓库README.md记录了如何运行服务和使用,一开始直接将国旗粘贴在脸上违和感太强了,所以加了一个控制国旗透明度的滑动条

还有就是gradio真的好用,然后为了将fastapi与gradio整合在一起,写了一个简单的demo,所以项目略显臃肿

(三)结语

如果有什么错误的地方,还请大家批评指正。最后,希望小伙伴们都能有所收获。写这些,仅记录自己学习使用gradio的过程
人脸自动贴国旗_第2张图片

你可能感兴趣的:(写着玩,人脸相关,python,opencv,docker)