import cv2

import dlib

import numpy as np

#根据人脸框bbox,从一张完整图片裁剪出人脸

def getface():

bgrImg = cv2.imread('1.jpg')

print bgrImg.shape

rgbImg = cv2.cvtColor(bgrImg, cv2.COLOR_BGR2RGB)

detector=dlib.get_frontal_face_detector()

#img = io.imread('1.jpg')

faces = detector(rgbImg, 1)

if len(faces) > 0:

face=max(faces, key=lambda rect: rect.width() * rect.height())

[x1,x2,y1,y2]=[face.left(),face.right(),face.top(),face.bottom()]

人脸特征点定位:需要先从网上下载预训练模型

http://sourceforge.net/projects/dclib/files/dlib/v18.10/shape_predictor_68_face_landmarks.dat.bz2

import dlib

#根据人脸框bbox,从一张完整图片裁剪出人脸,并保存问文件名cropimgname

#如果未检测到人脸,那么返回false,否则返回true

face_detector=dlib.get_frontal_face_detector()

landmark_predictor=dlib.shape_predictor("shape_predictor_68_face_landmarks.dat")

def geteye_rect(imgpath):

bgrImg = cv2.imread(imgpath)

if bgrImg is None:

return False

rgbImg = cv2.cvtColor(bgrImg, cv2.COLOR_BGR2RGB)

facesrect = face_detector(rgbImg, 1)

if len(facesrect) <=0:

return False

for k, d in enumerate(facesrect):

shape = landmark_predictor(rgbImg, d)

for i in range(68):

pt=shape.part(i)

plt.plot(pt.x,pt.y,'ro')

plt.imshow(rgbImg)

plt.show()

python人脸关键点识别,基础知识(十三)dlib python人脸检测 特征点定位相关推荐

  1. 基础知识(十三)dlib python人脸检测 特征点定位

    import cv2 import dlib import numpy as np #根据人脸框bbox,从一张完整图片裁剪出人脸 def getface():bgrImg = cv2.imread( ...

  2. python入门需要什么基础知识_小学生Python入门基础知识有哪些

    ​画正方形-小学生 Python 入门课 还没开始学就要画正方形啊!会不会太难啊? 今天主要是教大家简化版的程序设计流程,其实和大家在日常生活中做的事情是一样的. 第一步:准备画画的工具包(纸和铅笔) ...

  3. 学python需要什么基础知识-没学过Python先要学习哪些基础知识?

    零基础学Python应该学习哪些入门知识 关于零基础怎么样能快速学好Python的问题,百度提问和解答的都很多,你可以百度下看看.我觉得从个人自学的角度出发,应从以下几个方面来理解: 1 为什么选择学 ...

  4. 数字图像处理与Python实现笔记之基础知识

    数字图像处理与Python实现笔记之基础知识 摘要 绪论 1 数字图像处理基础知识 1.1 数字图像简介 1.1.1 数字图像处理的目的 1.1.2 数字图像处理的应用 1.1.3 数字图像处理的特点 ...

  5. VII python(1)基础知识

    VII Python(1)基础知识 1989年诞生(同LinuxOS),google推崇,06年后才开始在中国流行,08年运维开始使用python www.python.org(主流OS默认配的pyt ...

  6. python 图像分析自然纹理方向与粗细代码_数字图像处理与Python实现笔记之基础知识...

    数字图像处理与Python实现笔记之基础知识 摘要 绪论 1 数字图像处理基础知识 1.1 数字图像简介 1.1.1 数字图像处理的目的 1.1.2 数字图像处理的应用 1.1.3 数字图像处理的特点 ...

  7. CV:计算机视觉技术之图像基础知识(二)—以python的skimage和numpy库来了解计算机视觉图像基础(图像存储原理-模糊核-锐化核-边缘检测核,进阶卷积神经网络(CNN)的必备基础)

    CV:计算机视觉技术之图像基础知识(二)-以python的skimage和numpy库来了解计算机视觉图像基础(图像存储原理-模糊核-锐化核-边缘检测核,进阶卷积神经网络(CNN)的必备基础) 目录 ...

  8. CV:计算机视觉技术之图像基础知识(一)—以python的cv2库来了解计算机视觉图像基础(傅里叶变换-频域-时域/各种滤波器-线性-非线性-均值-中值-高斯-双边)

    CV:计算机视觉技术之图像基础知识(一)-以python的cv2库来了解计算机视觉图像基础(傅里叶变换-频域-时域/各种滤波器-线性-非线性-均值-中值-高斯-双边) 目录 一.图像中的傅里叶变换 1 ...

  9. 自学python 编程基础知识_自学Python的学习顺序,知识要点!附学习资料

    自学Python要按照什么样的学习顺序?首先要有一个详尽的学习大纲,对于学习Python的各种知识点要安排的详略得当,做到由易到难,循序渐进,才能长久的坚持学下去.除了基础的理论知识,项目实战也是自学 ...

最新文章

  1. 【learning】矩阵树定理
  2. idea整合 spring boot jsp mybatis
  3. LeetCode Non-overlapping Intervals(dp,greedy)
  4. iphone软件创富密码之关于Cocoa版的Hello World程序
  5. vue部署到服务器 接口调用不了_Python 调用 Azure API 实现服务器自动部署
  6. 如何卸载ubuntu下的terminator
  7. linux 命令 —— pwd
  8. django 用auth的login后重定向
  9. FatFs- 通用FAT文件系统模块
  10. centos查询 硬盘序列号查询_linux centos7非常有用的硬件信息查询命令
  11. 3U VPX高性能数据处理板(XC7K325T FMC载板)
  12. 电脑显示没有被指定在上运行_电脑显示“没有被指定在windows上运行,或者它包含错误”怎么解决?...
  13. 史上最全BigDecimal的5种进位方式:ROUND_UP,ROUND_DOWN,ROUND_CEILING,ROUND_FLOOR,ROUND_HALF_UP,ROUND_HALF_DOWN的比较
  14. 程序员的电脑选择推荐
  15. python小海龟画房子编程_这个python海龟绘图为什么出错?
  16. php可以用scanf,PHP可以使用“scanf”来打印输出结果( )。
  17. Tomcat配置https方式访问
  18. ChinaSoft 论坛巡礼 | 高可信嵌入式软件工程技术论坛
  19. HiMobileCam SDK安装使用说明(Hi3559V200)(海思)
  20. 解决jdbcTemplate处理sql带in的多个参数问题

热门文章

  1. linux 怎么改授权用户权限,linux – systemd:授予非特权用户权限以更改某个特定服务...
  2. shell echo单行和多行文字定向写入到文件中
  3. 高等数学二python实现导数与微分
  4. linux应用调用内核函数,Hooking linux内核函数(一):寻找完美解决方案
  5. Java 并发系列之十一:并发线程带来的风险
  6. sql-libs(6) 双引号的报错注入
  7. CocoaPods安装以及遇到的坑
  8. mySQL 分组查询,根据分组的字段,取最小值
  9. JS_call_APP native 与 html的交互
  10. Makefile的几个赋值运算符(转:笔记)