基于人脸5个关键点的人脸对齐(人脸纠正)
摘要:人脸检测模型输出人脸目标框坐标和5个人脸关键点,在进行人脸比对前,需要对检测得到的人脸框进行对齐(纠正),本文将通过5个人脸关键点信息对人脸就行对齐(纠正)。
一、输入图像就行人脸检测:
人脸检测模型输出每个人脸的目标框坐标以及5个关键点坐标。
二、利用5个特征点进行人脸对齐(纠正)
人脸1:
人脸1纠正结果:
人脸2:
人脸2纠正后结果:
人脸3:
人脸3纠正后结果:
三、人脸对齐(纠正)代码示例:
import cv2
import numpy as np
import skimage.transformST_KEYPOINT = np.array([[0.34191607, 0.46157411],[0.65653393, 0.45983393],[0.500225, 0.64050536],[0.37097589, 0.82469196],[0.63151696, 0.82325089]], dtype=np.float32)def get_aligned_face(image, keypoint, align_size):'''Args:image: origin imsgekeypoint: five keypoints with shape of (5, 2)align_size: output size of (w, h), exp: (112, 112)Returns:aligned face with the size of align_size'''st_kp = ST_KEYPOINT * np.array(align_size)st = skimage.transform.SimilarityTransform() # define the function of affine transformationst.estimate(keypoint, st_kp) # calculate the matrix of affine transformationalign_face = cv2.warpAffine(image, st.params[0:2, :], align_size, flags=cv2.INTER_LINEAR, borderValue=0.0) # face alignreturn align_face
相关文章:
![](https://img-blog.csdnimg.cn/8556b453b2464d368fb74b28eb4c038e.jpeg)
基于人脸5个关键点的人脸对齐(人脸纠正)
摘要:人脸检测模型输出人脸目标框坐标和5个人脸关键点,在进行人脸比对前,需要对检测得到的人脸框进行对齐(纠正),本文将通过5个人脸关键点信息对人脸就行对齐(纠正)。 一、输入图像…...
![](https://img-blog.csdnimg.cn/9cfdb10ca51b47a9bbcd030484b84b18.png)
vue3中两个el-select下拉框选项相互影响
vue3中两个el-select下拉框选项相互影响 1、开发需求2、代码2.1 定义hooks文件2.2 在组件中使用 1、开发需求 如图所示,在项目开发过程中,遇到这样一个需求,常规时段中选中的月份在高峰时段中是禁止选择的状态,反之亦然。 2、代…...
![](https://img-blog.csdnimg.cn/3458c8baf15340c68a1e01525cc385c0.png)
博弈论——反应函数
反应函数 1 引言 谢老师的《经济博弈论》书中对反应函数并没有给出一般笼统的定义,而是将其应用与古诺模型并给出了相关解释:反应函数是指在无限策略的古诺博弈模型中,博弈方的策略有无限多种,因此各个博弈方的最佳对策也有无限…...
![](https://img-blog.csdnimg.cn/2e61db85c7f94137a891b0e2b73ee9ba.png)
UE5读取json文件
一、下载插件 在工程中启用 二、定义读取外部json文件的函数,参考我之前的文章 ue5读取外部文件_艺菲的博客-CSDN博客 三、读取文件并解析为json对象 这里Load Text就是自己定义的函数,ResourceBundle为一个字符串常量,通常是读取的文件夹…...
![](https://img-blog.csdnimg.cn/img_convert/a6b1a88baa13482367b5b8da7fae1b9e.png)
Vue中的插槽--组件复用,内容自定义
插槽 文章目录 插槽插槽-默认插槽插槽-后备内容(设置默认值)插槽-具名插槽插槽–作用域插槽 插槽-默认插槽 作用:让组件内部的一些结构支持自定义 需求:要在页面中显示一个对话框,封装成一个组件(对话框有很多功能是类…...
![](https://www.ngui.cc/images/no-images.jpg)
完全指南:mv命令用法、示例和注意事项 | Linux文件移动与重命名
文章目录 mv命令使用指南1. 简介什么是mv命令?mv命令的作用和功能是什么? 2. 基本用法基本语法格式如何移动文件?如何重命名文件?如何移动和重命名目录? 3. 高级用法使用通配符进行批量移动和重命名使用选项进行文件移…...
![](https://img-blog.csdnimg.cn/21e7c2b64ebe482f943b3519a11f4115.png)
gitee生成公钥和远程仓库与本地仓库使用验证
参考文档: https://help.gitee.com/base/account/SSH%E5%85%AC%E9%92%A5%E8%AE%BE%E7%BD%AE(1)通过命令ssh-keygen 生成SSH key -t key类型 -c注释 ssh-keygen -t ed25519 -C "Gitee SSH Key" (2)按三次回车 (3)查看生成的 SSH 公钥和私钥: …...
![](https://www.ngui.cc/images/no-images.jpg)
请求后端接口413
当在进行HTTP请求时出现"413 Request Entity Too Large"错误时,通常是因为请求体的大小超过了服务器的配置限制。这个错误提示表明服务器拒绝接受过大的请求。 此时一般还未到后端服务,是被后端的ngnix代理服务器拦截的,所以可以检…...
![](https://img-blog.csdnimg.cn/ae2f6b5bb4a54b8cbee5e58e0d6ba12a.png)
HarmonyOS之 开发环境搭建
一 鸿蒙简介: 1.1 HarmonyOS是华为自研的一款分布式操作系统,兼容Android,但又区别Android,不仅仅定位于手机系统。更侧重于万物物联和智能终端,目前已更新到4.0版本。 1.2 HarmonyOS软件编程语言是ArkTS,…...
![](https://img-blog.csdnimg.cn/a06b9f5499bb48dca2aa26662a15851f.png)
QTC++ day12
注册登录界面 widget.h #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QIcon> #include <QPushButton> #include <QLineEdit> #include <QLabel> #include <QDebug> #include <QMessageBox>//消息对话框类 #inc…...
![](https://www.ngui.cc/images/no-images.jpg)
Vue3中使用Proxy API取代defineProperty API的原因
目录 一、前言 二、defineProperty API的限制和问题 三、Proxy API的优势和特性 四、Vue3.0中使用Proxy API的原因 五、Proxy API的局限性和注意事项 一、前言 Vue3.0是Vue.js框架的最新版本,它在底层进行了许多重要的改进。其中最引人注目的变化之一是它转而…...
![](https://img-blog.csdnimg.cn/2cc80877bc3644d3be2d436111d7c161.png)
构建工具Webpack简介
一、构建工具 当我们习惯了Node中使用ES模块化编写代码以后,用原生的HTML、CSS、JS这些东西会感觉到各种不便。比如:不能放心的使用模块化规范(浏览器兼容性问题)、即使可以使用模块化规范也会面临模块过多时的加载问题。 这时候…...
![](https://img-blog.csdnimg.cn/01a3e84458434078a2733fa8a72d0ed6.png)
Docker部署单点Elasticsearch与Kibana
一 、 创建网络 因为需要部署kibana容器,因此需要让es和kibana容器互联。这里创建一个网络: docker network create es-net # 创建一个网络名称为:es-net 二 、拉取并加载镜像 方式一 docker pull elasticsearch:7.12.1 版本为elasticsearch的7…...
![](https://img-blog.csdnimg.cn/25c0800ba2764a18a861a3a9b4b03816.png)
opencv实现仿射变换和透射变换
##1, 什么是仿射变换? 代码实现 import numpy as np import cv2 as cv import matplotlib.pyplot as plt#设置字体 from pylab import mpl mpl.rcParams[font.sans-serif] [SimHei]#图像的读取 img cv.imread("lena.png")#仿射变换 row…...
![](https://img-blog.csdnimg.cn/1713065780ba4721b30866f22074125b.png)
抖音seo账号矩阵源码系统
1. 开通多个抖音账号,并将它们归纳为一个账号矩阵系统。 2. 建立一个统一的账号管理平台,以便对这些账号进行集中管理,包括账号信息、内容发布、社区交互等。 3. 招募专业的运营团队,对每个账号进行精细化运营,包括内…...
![](https://img-blog.csdnimg.cn/69a03323d8ea44f0a6323586aa0d9862.png)
性能优化之防抖
方法1:利用lodash库提供的防抖来处理 方法2:手写一个防抖函数来处理 需求:鼠标在盒子上移动,鼠标停止500ms之后,里面的数字才会变化1 方法一:利用lodash库实现防抖 <!DOCTYPE html> <html lang&…...
![](https://img-blog.csdnimg.cn/804d351887f0458685f4c32dda4a6986.png)
postgresql用户和角色
postgresql用户和角色 简述创建角色角色属性登录特权超级用户创建数据库创建角色启动复制密码修改角色属性 对象授权撤销授权组和成员删除角色 简述 PostgreSQL 通过角色的概念来控制数据库的访问权限。角色又包含了两种概念,具有登录 权限的角色称为用户ÿ…...
![](https://img-blog.csdnimg.cn/af635f54af334512bd4d19e88f9c8ab9.png)
设计模式之备忘录模式
文章目录 游戏角色状态恢复问题传统方案解决游戏角色恢复传统的方式的问题分析备忘录模式基本介绍游戏角色恢复状态实例备忘录模式的注意事项和细节 游戏角色状态恢复问题 游戏角色有攻击力和防御力,在大战 Boss 前保存自身的状态(攻击力和防御力),当大…...
![](https://img-blog.csdnimg.cn/7938f18110ed4db0a8bb2ffe7bc95403.png)
大数据Flink(八十八):Interval Join(时间区间 Join)
文章目录 Interval Join(时间区间 Join) Interval Join(时间区间 Join) Interval Join 定义(支持 Batch\Streaming):Interval Join 在离线的概念中是没有的。Interval Join 可以让一条流去 Jo…...
![](https://www.ngui.cc/images/no-images.jpg)
数字IC笔试千题解--判断题篇(五)
前言 出笔试题汇总,是为了总结秋招可能遇到的问题,做题不是目的,在做题的过程中发现自己的漏洞,巩固基础才是目的。 所有题目结果和解释由笔者给出,答案主观性较强,若有错误欢迎评论区指出,资料…...
![](https://img-blog.csdnimg.cn/0b782bb93a0e430b92566b4f3ff759f5.png#pic_center)
Kubernetes(k8s)上搭建一主两从的mysql8集群
Kubernetes上搭建一主两从的mysql8集群 环境准备搭建nfs服务器安装NFS暴露nfs目录开启nfs服务器 安装MySQL集群创建命名空间创建MySQL密码的Secret安装MySQL主节点创建pv和pvc主节点的配置文件部署mysql主节点 安装第一个MySQL Slave节点创建pv和pvc第一个从节点配置文件部署my…...
![](https://img-blog.csdnimg.cn/b1b644552c054f268bf2ac3d82174eaf.png)
MySQL备份与恢复
MySQL备份与恢复一、备份1、数据备份的重要性2、数据备份分类2.1 物理备份2.2 逻辑备份 3、数据库备份策略4、常用的备份方法和工具5、数据库上云迁移 二、数据库完全备份1、简介2、物理冷备份与恢复2.1 物理冷备份2.2 备份恢复2.3 补充知识date 3、mysqldump备份与恢复3.1 完全…...
![](https://img-blog.csdnimg.cn/2ce4ea32dbbf4b67b1540cdfc998b85a.png)
【RTOS学习】单片机中的C语言
🐱作者:一只大喵咪1201 🐱专栏:《RTOS学习》 🔥格言:你只管努力,剩下的交给时间! 本喵默认各位小伙伴都会C语言,我们平时学习C语言都是在Windows环境下学习的࿰…...
![](https://img-blog.csdnimg.cn/8ed30554d92e4ed4bc9321ecb2beb86c.png#pic_center)
确知波束形成matlab仿真
阵列信号处理中的导向矢量 假设一均匀线性阵列,有N个阵元组成,满足:远场、窄带假设。 图1. 均匀线性阵模型 假设信源发射信号,来波方向为 θ \theta θ,第一个阵元接收到的信号为 x ( t ) x(t) x(t),则第…...
![](https://img-blog.csdnimg.cn/41052410d24a46009e86e60738862a24.png)
并发编程相关面试题
线程基础 线程和进程的区别: ----------------------------------------------------------------------- 创建线程的方式: 1 继承Thread类 2 实现runnable接口 3 实现callable 接口(有返回值的) 4 线程池创建线程 ------…...
![](https://img-blog.csdnimg.cn/2fa5f20ed1f24343883c89561e15c9b1.png)
Cpp/Qt-day050921Qt
目录 实现使用数据库的登录注册功能 头文件: registrwidget.h: widget.h: 源文件: registrwidget.c: widget.h: 效果图: 思维导图 实现使用数据库的登录注册功能 头文件: registrwidget.h: #ifndef REGISTRWIDGET_H #de…...
![](https://img-blog.csdnimg.cn/img_convert/714fd6f1839d54bc7161221fd513b7e4.jpeg)
视频汇聚/视频云存储/视频监控管理平台EasyCVR分发rtsp流起播慢优化步骤详解
安防视频监控/视频集中存储/云存储/磁盘阵列EasyCVR平台可拓展性强、视频能力灵活、部署轻快,可支持的主流标准协议有国标GB28181、RTSP/Onvif、RTMP等,以及支持厂家私有协议与SDK接入,包括海康Ehome、海大宇等设备的SDK等。平台既具备传统安…...
![](https://img-blog.csdnimg.cn/a6fc97a1168e476989c887600fb78a7c.gif)
ElementUI之登陆+注册->饿了吗完成用户登录界面搭建,axios之get请求,axios之post请求,跨域,注册界面
饿了吗完成用户注册登录界面搭建axios之get请求axios之post请求跨域 1.饿了吗完成用户注册登录界面搭建 将端口号8080改为8081 导入依赖,在项目根目录使用命令npm install element-ui -S,添加Element-UI模块 -g:将依赖下载node_glodal全局依…...
![](https://img-blog.csdnimg.cn/img_convert/da5f328ddd0d57e28fe94353b66b2c35.webp?x-oss-process=image/format,png)
2023华为杯研究生数学建模研赛E题出血脑卒中完整论文(含28个详细预处理数据及结果表格)
大家好呀,从发布赛题一直到现在,总算完成了全国研究生数学建模竞赛(数模研赛)E题完整的成品论文。 本论文可以保证原创,保证高质量。绝不是随便引用一大堆模型和代码复制粘贴进来完全没有应用糊弄人的垃圾半成品论文。…...
![](https://www.ngui.cc/images/no-images.jpg)
Java中的继承是什么?
在Java中,继承是一种面向对象编程的概念,它允许一个类(称为子类或派生类)继承另一个类(称为父类或基类)的属性和方法。通过继承,子类可以获得父类的属性和方法,并且可以添加自己的特…...
![](https://img-blog.csdnimg.cn/2021062817294016.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3E5MDYyNzA2Mjk=,size_16,color_FFFFFF,t_70)
手机网站重要性/网站优化资源
小红书类种草文标题的写法分享 请看下图:...
![](https://img-blog.csdnimg.cn/img_convert/1f4b092d71f34eac41f52393227b6a3a.png)
杨凌住房和城乡建设局网站/网络推广是什么
logback日志深入使用在之前的博文中,博主已经简单的介绍了logback的配置文件以及简单的使用。下面,博主将介绍一下logback的一些其它用法。格式化输出logback的方法可以支持我们进行格式化输出,我们再也不用手动进行字符串的拼接了。logger.i…...
![](/images/no-images.jpg)
asp网站上哪做/网络营销工程师前景
目标: 实现单链表的增删改查,克隆复制,容量计算,是否为空判断. 结点类 public class Node<T> {T data;Node<T> nextnull;public Node(T data){this.datadata;}public Node(){}} 链表类 public class LinkedList<T> {Node<T> headernull;//每次增加…...
![](/images/no-images.jpg)
怎么用域名做邮箱网站/包就业的培训机构
Mysql常用函数的汇总,可看下面文章 https://www.cnblogs.com/poloyy/p/12890763.html substring 的作用 截取指定范围的字符串,学过Java的同学,对这个应该不陌生,字符串函数也有一个substring,作用一样哈 substring 的…...
山东省招投标信息网/扬州seo优化
动态菜单: 不同用户登录后,应该看到不同菜单结构 1、 修改 index.html 加载基本菜单 url 路径 2、 在 MenuAction 添加 showMenu 方法 3、 编写业务层 调用 DAO ”from Menu m inner join fetch m.roles r inner join fetch r.users u where…...
![](/images/no-images.jpg)
做网站需要公司备案/关键词排名优化易下拉软件
今天晚上我迫不急待的打开电脑,一阵撕心裂肺的猫叫之后,我开始了网上的旅程。 没搞错,上不去我的网页,怎么搞的,我可是网页的版主哦,这就像因太晚没回家而被老婆关在门外的可怜人一样,只…...