当前位置: 首页 > news >正文

用python打印出一个人的照片_Python用dilb提取照片上人脸的示例

上代码:

#coding=utf-8

import cv2

import dlib

path = "imagePath/9.jpg"

img = cv2.imread(path)

gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

#人脸分类器

detector = dlib.get_frontal_face_detector()

# 获取人脸检测器

predictor = dlib.shape_predictor(

"shape_predictor_68_face_landmarks.dat"

)

color = (0, 255, 0) # 定义绘制颜色

dets = detector(gray, 1)

for face in dets:

shape = predictor(img, face) # 寻找人脸的68个标定点

chang=[]

kuan= []

# 遍历所有点,打印出其坐标,并圈出来

for pt in shape.parts():

pt_pos = (pt.x, pt.y)

chang.append(pt.x)

kuan.append(pt.y)

#cv2.circle(img, pt_pos, 1, (0, 255, 0), 1)

x1 = max(chang)

x2 = min(chang)

y1 = max(kuan)

y2 = min(kuan)

cv2.rectangle(img, (x2, y2), (x1, y1), color, 1)

cropped = img[y2 + 1:y1, x2 + 1:x1] # 裁剪坐标为[y0:y1, x0:x1]

cv2.imshow("image", cropped)

k = cv2.waitKey(0)

if k == ord("s"):

cv2.imwrite("imagePath/9-7.png", cropped)

cv2.destroyAllWindows()

识别效果:

20201026115554309.png?2020926115625

以上就是Python用dilb提取照片上人脸的示例的详细内容,更多关于python 提取人脸的资料请关注脚本之家其它相关文章!

相关文章:

  • getdata提取曲线数据_基于Hypergraph创建曲线(矢量)的结果响应
  • ffmpeg 为取经而来_清华,那个穿越百年而来的白衣少年
  • python 数组 动态赋值_在python中使用numpy创建动态数组
  • java filter 是否能拦截到form表单的所有数据_java 知识点总结(框架篇)
  • python使用xlrd读取xlsx文件_python操作excel文件一(xlrd读取文件)
  • 如何在桌面上显示一行字_只需一个命令启动Hyper-V虚拟机,高手们是如何做到的
  • python相对路径怎么写_Python代码写的丑怎么办?试试这几款神器!
  • java商品管理txt_Java 异常处理的六个建议
  • python里input是什么意思_Tensorflow:标签中的“input”和“input”是什么意思_图像.py在tensorflow示例中...
  • python3自动化软件发布系统pdf_Python 3自动化软件发布系统 -Django 2实战
  • java字符串压缩后反而变长了_不得不爱的数据结构和算法,BAT面试必考,想进大厂不可错过——百战Java课程更新08.17...
  • python nodejs php_Python,Javascript(NodeJS),PHP之间的AES加密解密
  • 主键id 请求参数用什么类型_架构实战(6)——关于主键的那点事儿
  • python dataframe 列_Python DataFrame一列拆成多列以及一行拆成多行
  • 并发 查询 重复 yii_高并发的核心技术-幂等的实现方案
  • 【许晓笛】 EOS 智能合约案例解析(3)
  • Bytom交易说明(账户管理模式)
  • ES6--对象的扩展
  • ES6系列(二)变量的解构赋值
  • IOS评论框不贴底(ios12新bug)
  • Linux编程学习笔记 | Linux IO学习[1] - 文件IO
  • node-sass 安装卡在 node scripts/install.js 解决办法
  • Swift 中的尾递归和蹦床
  • 从0到1:PostCSS 插件开发最佳实践
  • 从setTimeout-setInterval看JS线程
  • 简单基于spring的redis配置(单机和集群模式)
  • 适配iPhoneX、iPhoneXs、iPhoneXs Max、iPhoneXr 屏幕尺寸及安全区域
  • - 语言经验 - 《c++的高性能内存管理库tcmalloc和jemalloc》
  • 第二十章:异步和文件I/O.(二十三)
  • ​卜东波研究员:高观点下的少儿计算思维
  • #1014 : Trie树
  • (07)Hive——窗口函数详解
  • (Demo分享)利用原生JavaScript-随机数-实现做一个烟花案例
  • (libusb) usb口自动刷新
  • (八)Docker网络跨主机通讯vxlan和vlan
  • (附源码)ssm捐赠救助系统 毕业设计 060945
  • (附源码)计算机毕业设计SSM保险客户管理系统
  • (三十五)大数据实战——Superset可视化平台搭建
  • (四)Controller接口控制器详解(三)
  • (一一四)第九章编程练习
  • (转)【Hibernate总结系列】使用举例
  • (转)jdk与jre的区别
  • (转)MVC3 类型“System.Web.Mvc.ModelClientValidationRule”同时存在
  • .Net Framework 4.x 程序到底运行在哪个 CLR 版本之上
  • .net6 webapi log4net完整配置使用流程
  • .NET使用存储过程实现对数据库的增删改查
  • .Net中ListT 泛型转成DataTable、DataSet
  • .sdf和.msp文件读取
  • @PreAuthorize注解
  • [22]. 括号生成
  • [DM复习]关联规则挖掘(下)
  • [JavaScript]如何讓IE9, IE8, IE7, IE6關閉視窗時不彈出對話訊息
  • [leveldb] 2.open操作介绍
  • [MT8766][Android12] 增加应用安装白名单或者黑名单
  • [NOI 2016]优秀的拆分