【上】带你玩转人脸识别--读取图片,灰度转换,尺寸修改,绘制矩形快速入门
文章目录
- 前 言
- 安 装 OpenCV
- 导入模块
- 1.读取图片 (imread,imshow)
- 2.灰度转换 (cvtColor)
- 3.尺寸修改 (resize)
- 4.矩形、圆形的绘制 (rectangle,circle)
- 结 语
前 言
OpenCV是计算机视觉中最受欢迎的库,能够在python中使用。
OpenCV库是2500多种优化算法的组合,可用于检测和识别不同的人脸,实时识别图像中的对象,使用视频和网络摄像头对不同的人类动作进行分类,跟踪摄像机的运动,跟踪运动对象(例如汽车、人等),实时计数对象,缝合图像来产生高分辨率图像,从图像数据库中查找相似的图像,在使用闪光灯拍摄的图像中消除红眼并提高图像质量,跟踪眼睛的运动,跟踪脸部等。
安 装 OpenCV
控制台输入以下命令即可:
pip install opencv-python -i https://pypi.douban.com/simple
导入模块
import cv2 as cv
1.读取图片 (imread,imshow)
imread:获取图像路径
imshow:显示图像。其中,face为显示的图像的名称
waitkey:设置等待时间,单位无为毫秒,1000ms=1s,设置为0则永久显示
destroryAllwindows:清理内存
# 导入模块
import cv2 as cv
# 读取图像
img =cv.imread('./facefile/face1.png')
# 显示图片
cv.imshow('face',img)
# 显示时间
cv.waitKey(0)
# 清理内存
cv.destroyAllWindows()
运行结果:
2.灰度转换 (cvtColor)
cvtColor:转换图片颜色
cv.COLOR_xxxxx参数:可以将图片转换为多种颜色,这里选择灰色处理。
# 读取图像
img =cv.imread('./facefile/face1.png')
# 灰度处理
gray_img = cv.cvtColor(img,cv.COLOR_BGR2GRAY)
# 保存灰度图片
cv.imwrite('./facefile/gray_face1.jpg',gray_img)
# 显示灰度图片
cv.imshow('grayface',gray_img)cv.waitKey(0)
cv.destroyAllWindows()
运行结果:
3.尺寸修改 (resize)
resize:修改图片尺寸
dsize参数:设置图片大小(宽高)
img.shape:显示图片尺寸(高宽)
# 导入模块
import cv2 as cv
# 读取图像
img =cv.imread('./facefile/face1.png')
# 灰度处理
gray_img = cv.cvtColor(img,cv.COLOR_BGR2GRAY)# 保存灰度图片
cv.imwrite('./facefile/gray_face1.jpg',gray_img)# 修改尺寸大小
resize_grayimg = cv.resize(gray_img,dsize=(400,300)) #宽高# 显示图片大小
print('BeforeSize:',gray_img.shape)
print('AfterSize:',resize_grayimg.shape)# 显示灰度图片
cv.imshow('grayface',resize_grayimg)
# 显示原图
cv.imshow('face',gray_img)# 按空格显示结束
while True:if ord(' ') == cv.waitKey(0):break
cv.destroyAllWindows()
运行结果:
4.矩形、圆形的绘制 (rectangle,circle)
rectangle:绘制矩形
color:参数设置颜色(B,G,R)
thickness:参数设置边框宽度
circle:绘制圆形
center参数:设置圆心
radius参数:设置半径
import cv2 as cvgray_img = cv.imread('./facefile/gray_face1.jpg')# 设置尺寸
gray_resizeimg = cv.resize(gray_img,dsize=(350,400))# 设置坐标
x,y,w,h = (130,130,100,110)
# 绘制矩形
cv.rectangle(gray_resizeimg,(x,y),(x+w,y+h),color=(0,0,255),thickness=1)
# 绘制圆形
cv.circle(gray_resizeimg,center=(x+w//2,y+h//2),radius=60,color=(255,0,0),thickness=2)cv.imshow('resizeimg',gray_resizeimg)while True:if ord(' ') == cv.waitKey(0):break
cv.destroyAllWindows()
运行结果:
结 语
这篇文章主要带大家了解使用OpenCV读取图片,并对图片进行修改、在人脸上画框。这对后续的人脸检测都有着极大的用处。
版权声明:本文为作者授权3D视觉开发者社区发布,仅做学术分享,版权归原作者所有,若涉及侵权内容请联系删文。
3D视觉开发者社区是由奥比中光给所有开发者打造的分享与交流平台,旨在将3D视觉技术开放给开发者。平台为开发者提供3D视觉领域免费课程、奥比中光独家资源与专业技术支持。
点击加入3D视觉开发者社区,和开发者们一起讨论分享吧~
也可移步微信关注官方公众号 3D视觉开发者社区 ,获取更多干货知识哦!
【上】带你玩转人脸识别--读取图片,灰度转换,尺寸修改,绘制矩形快速入门相关推荐
- unityar自动识别人脸_三款Unity插件带您玩转人脸识别与模拟
原标题:三款Unity插件带您玩转人脸识别与模拟 若想让游戏或电影中的虚拟角色表现得更加真实,面部表情是至关重要的.人脸识别技术则借助真人表演来为虚拟角色赋予丰富的表情与面部动作,小至皱眉带动眼部肌肉 ...
- 识别物体是否存在_【科学实践Vol.1】带你玩转“人脸识别”
随着时代的发展,人脸识别在我们的生活中变得随处可见:商场里的人脸识别储物柜,校园里的人脸识别刷卡机,手机里的面部解锁--这些应用极大的便利了我们的日常生活.今天,就让我们一起走进人脸识别的原理世界. ...
- 利用opencv带你玩转人脸识别-上篇(读取图片,灰度转换,尺寸修改,绘制矩形快速入门)
- 利用opencv带你玩转人脸识别-下篇(人脸录入,数据训练,人脸识别小案例快速入门)
- 利用opencv带你玩转人脸识别-中篇(人脸检测,检测多个,视频检测快速入门)
- python人脸识别防小偷_一篇文章带你了解Python 人脸识别有多简单
今天的Python学习教程给大家介绍一个世界上最简练的人脸辨认库 face_recognition,你可以应用 Python 和命令行工具进行提取.辨认.操作人脸. 基于业内领先的 C++ 开源库 d ...
- python人脸识别实验报告总结_一篇文章带你了解Python 人脸识别有多简单
原标题:一篇文章带你了解Python 人脸识别有多简单 今天的Python学习教程给大家介绍一个世界上最简洁的人脸识别库 face_recognition,你可以使用 Python 和命令行工具进行提 ...
- 【吴恩达深度学习编程作业】4.4特殊应用——人脸识别和神经风格转换(问题未解决)
参考文章:1.人脸识别与神经风格转换 2.神经风格转换编程作业 神经网络风格中遇到的问题已经解决了并将解决方案写在了备注里面,但是人脸识别那里运行到database就出错了,目前仍没有找到解决方案.我 ...
- 人脸识别与神经风格转换
文章参考参考,在此基础上对人脸识别和神经风格转换的内容做一个简述. 人生苦短,我学torch 人脸识别 模型构建 人脸识别仅仅用的表层特征做对比是远远不够的,这里用到的就是FaceNet的特征提取.由 ...
最新文章
- 人人都是产品经理 2
- C++操作SQLite数据库
- 手把手教你从Core Data迁移到Realm
- python3数据类型:Tuple(元组)
- C和指针之字符串总结
- python连接MySQL数据库搭建简易博客
- 个人觉得非常好用的mysql客户端工具的HeidiSQL
- 孝感高考成绩2021分数查询,孝感教育局官网2021年大悟中考分数查询成绩查分
- 谷歌浏览器32位安装包_谷歌团队新作!只需下载3M安装包,就能让你的手机浏览器跟踪眼球运动...
- asp.net打开客户端bartender文件
- 吴声年度演讲全文:场景品牌,新商业的此时此刻
- selenium 下载webdriver浏览器驱动
- 变更日志 批准的变更请求 收尾流程 原型法 名义小组 习题
- 字节(B)、千字节(KB)、兆字节(MB)、积 (GB)字节之间的换算
- 【不三不四的脑洞】“被相亲对象拉黑“所引发的关于链表合并算法的思考
- ps照片人像油画复古效果怎么做
- 增资扩股和股权转让有什么区别?
- 计划的主体部分应有哪些内容_计划的正文主体一般有哪三个部分构成
- CloudCompare:点云间重叠区可视化对比
- [其他] 如何在音乐网站下载音频,无需任何插件