基于Python和opencv实现抖音上墨镜和烟卷效果

基于Python和opencv实现抖音上墨镜和烟卷效果 一,项目简介 现今较火的抖音上有一个十分有趣的特效,其可以自动检测出人脸并且放置墨镜和烟卷,鉴于此

本文包含相关资料包-----> 点击直达获取<-------

基于Python和opencv实现抖音上墨镜和烟卷效果

一、项目简介

现今较火的抖音上有一个十分有趣的特效,其可以自动检测出人脸并且放置墨镜和烟卷,鉴于此,想自己实现动手实现以下该特效的制作。

二、工作环境

Python 3.6,opencv+Dlib,Windows操作系统,pycharm

三、流程

  • 从摄像头获取视频流,并转换为一帧一帧的图像,然后将图像信息传递给opencv这个工具库处理,返回灰度图像。

  • 程序启动后,根据监听器信息,使用一个while循环,不断的加载视频图像,然后返回给opencv工具呈现图像信息。

  • 创建一个键盘事件监听,按下"d"键,则开始执行面部匹配,并进行面具加载(这个过程是动态的,你可以随时移动)。

  • 面部匹配使用Dlib中的人脸检测算法来查看是否有人脸存在。如果有,它将为每个人脸创建一个结束位置,眼镜和烟卷会移动到那里结束。

  • 然后我们需要缩放和旋转我们的眼镜以适合每个人的脸。我们将使用从Dlib的68点模型返回的点集来找到眼睛和嘴巴的中心,并为它们之间的空间旋转。

  • 在我们实时获取眼镜和烟卷的最终位置后,眼镜和烟卷从屏幕顶部进入,开始匹配你的眼镜和嘴巴

  • 假如没有人脸,程序会直接返回你的视频信息,不会有面具移动的效果。默认一个周期是4秒钟。然后你可以通过"d"键再次检测。

  • 退出程序按下q键。

四、关键代码

  • 创建面具加载服务类DynamicStreamMaskService及其对应的初始化属性:

  • 读取摄像头视频流并转化为图象:

  • 实现人脸定位函数,及眼镜和烟卷的定位:

  • 接下来实现画图函数:

  • 创建启动函数start:

五、运行结果

运行后,首先会打开摄像头,然后按下键盘d键,就会看到墨镜和烟卷从屏幕上方出来,自动定位到眼睛和嘴巴。参考结果如下: 图片经过马赛克处理了。

注意

代码中需要调用 shape_predictor_68_face_landmarks.dat人脸库,需要下载,然后在代码调用处中指定路径即可。

参考文献

  • 基于Spring技术的大型视频网站后台上传系统的设计与实现(南京大学·徐悦轩)
  • 基于抖音兴趣点的推荐系统的设计与实现(南京大学·冯浩)
  • 移动视频中重点人物识别系统的设计与实现(西安电子科技大学·孙毅)
  • 基于J2EE的Web应用研究(河海大学·朱春江)
  • 基于安卓的图片社交应用的设计与实现(北京交通大学·高豆豆)
  • 基于Web的插件式可扩展视频直播系统的设计与实现(北京邮电大学·葛文博)
  • 基于安卓的图片社交应用的设计与实现(北京交通大学·高豆豆)
  • VSAR时尚电商平台商业计划书(华南理工大学·邓茂华)
  • 基于安卓的图片社交应用的设计与实现(北京交通大学·高豆豆)
  • 中视频创作服务平台的设计与实现(北京交通大学·王璐)
  • 基于安卓的图片社交应用的设计与实现(北京交通大学·高豆豆)
  • 基于React Native的英语视听应用的设计与实现(福州大学·刘草)
  • 基于Hadoop视频处理与检索系统(复旦大学·温建娇)
  • 基于Vue.js的可编程视频平台的设计和实现(华中科技大学·施璇)
  • 基于内容推荐的视频服务平台的设计与实现(北京交通大学·张雨萌)

本文内容包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主题。发布者:毕业设计工坊 ,原文地址:https://bishedaima.com/yuanma/35159.html

相关推荐

  • 基于SpringBoot框架的旅游网站平台

    这是一套采用Java语言编写的旅游网站平台源代码,基于流行的SpringBoot框架构建,该项目融入了Vue技术,开发工具为Idea或Eclipse,它是一个功能完备的旅游在线服务平台
    2024年05月23日
    20 1 3
  • 基于SpringBoot框架的企业oa管理系统

    这是一套采用🔥🔥SpringBoot框架构建的企业级OA管理系统的源代码,主要编程语言为Java,并结合了SpringBoot和Vue技术进行开发,开发工具选择的是Idea或Eclipse
    2024年05月23日
    3 1 1
  • Java+SSM实现复杂权限控制的教务管理,教务评教系统

    这是一个🔥🔥SSM实现复杂权限控制的教务管理,教务评教系统🔥🔥的项目源码,开发语言Java,开发环境Idea/Eclipse,这个 教务管理系统开发技术栈为SSM项目,可以作为毕业设计课程设计作业为大学教务处实现一个带有权限控制的教务管理系统
    2024年05月23日
    17 1 3
  • 二维非稳态热传导 膏体发动机之Python

    二维非稳态热传导 膏体发动机 一,划分网格: X 方向网格:20;Y 方向网格:20 材料 1:材料 2:材料 1=8:4:8 总网格数量:400 网格尺寸: 注意有界性条件:方程的各项系数大于 0 显式格式: 网格时 网格时 隐式格式: 有界性条件自动满足 C-N 格式: 二
    2024年05月14日
    1 1 1
  • QT实现局域网聊天软件代码

    在当今数字化时代,实时通讯已经成为人们生活和工作中不可或缺的一部分,随着互联网的快速发展,人们对于即时沟通的需求也在不断增加,在企业和个人之间,局域网聊天软件的需求日益突出
    2024年05月07日
    12 1 2
  • 基于java开发教室预约Web

    Class Int—教室资源管理系统 一,需求介绍 1,1 项目前景 近年来,随着高校不断的扩招,在校师生人数不断增加,各级高校都迫切需要提高工作质量和工作效率
    2024年05月14日
    1 1 1
  • 基于SpringBoot和MySQL的图书管理系统

    基于SpringBoot和MySQL的图书管理系统 1,前言 该图书管理系统是基于SpringBoot的项目,希望能够和小伙伴们一起学习,得到宝贵的意见
    2024年05月14日
    3 1 2
  • SSM实现值班管理系统排班管理系统

    值班管理系统是现代组织中不可或缺的一部分,其对于人力资源的合理调配和工作效率的提升至关重要,随着信息技术的迅速发展,基于Spring,SpringMVC和MyBatis的值班管理系统(SSM实现值班管理系统)逐渐成为研究和应用的热点
    2024年05月07日
    9 1 4
  • 基于SpringBoot框架的社团管理系统

    这是一套采用Java语言编写的🔥🔥SpringBoot核心框架的社团管理应用源代码🔥🔥,该项目运用了SpringBoot和Vue技术栈,开发工具为Idea或Eclipse
    2024年05月23日
    2 1 1
  • 基于SSM框架的邮件系统设计与实现

    这是一个🔥🔥基于SSM框架的邮件系统设计与实现🔥🔥的项目源码,开发语言Java,开发环境Idea/Eclipse,这个 邮件系统设计开发技术栈为SSM项目,可以作为毕业设计课程设计作业设计实现一个在线邮件系统
    2024年05月23日
    1 1 1

发表回复

登录后才能评论