- 作者:20岁爱吃必胜客(坤制作人),近十年开发经验, 跨域学习者,目前于海外某世界知名高校就读计算机相关专业。
- 荣誉:
阿里云博客专家认证
、腾讯开发者社区优质创作者,在CTF省赛校赛多次取得好成绩。跨领域学习
,喜欢摄影、弹吉他、咏春拳。文章深入浅出、语言风趣
;爱吃必胜客社区创立者,旨在“发现美 欣赏美
⭐️前言
人脸识别那么常用,为什么不自己手写一个呢?
日常生活中我们喜欢的就可以拿python写出来了,不要放弃,python很简单,很多时候我们可以先调用别人的API实现出来。
🌟 做什么
人脸识别拿来做个门禁系统、考勤系统、报警系统。
🌟 准备
☀️安装python,毫无疑问
复制此链接到浏览器,下载安装吧!
☀️安装pycharm
这个是个付费软件,非常好用。
但是我们可以去pdd搜索pycharm安装,这样就可以几分钱安装永久免费版了。
☀️环境:Opencv模块
我们可以先下载丐版的用着,丐版下载也很容易,直接打开cmd,输入即可下载
自带乞丐版安装方法
满血版在官网下载opencv
毫无疑问,功能更全面。
注意事项:
安装的时候是 opencv_python
,但在导入的时候采用 import cv2
# 导入cv模块 import cv2 as cv
⭐️做法
🌟 原理
- 滑动窗口机制
- 级联分类器
- 特征分类器
- …
别看了,太麻烦了,我们就写个人脸识别至于吗?
我们就先用上再说,光简单介绍一下意图让大家明白就够了,我觉得。
🌟 第一步:读取图片
当然要先读取到图片才能去处理图片,所以万事第一步,先读取到我们的图片。
☀️步骤
- 导入cv模块
- 读取图片
- 显示图片
- 等待一小下,不然图片一闪而过
- 释放内存
☀️代码
创建个文件,打上这些代码。不会的看上图。
# 导入cv模块 import cv2 as cv # 读取图片 img = cv.imread("5a131e6fcaf97e615aeaef854cabf65.jpg") # 显示图片 cv.imshow("read_img",img) # 等待一小下,不然图片一闪而过 cv.waitKey(0) # 释放内存 cv.destroyAllWindows()
🌟 第二步:灰度转换
☀️为什么进行灰度转换?
毫无疑问,彩色电视确实更好看,但是也难造啊。我们造不了彩电的时候,先做成黑白电视。
我们现在人工智能很厉害,但是还没进化到大彩电级别。我们先从黑白电视开始,黑白的图片数据更好处理啊。
你说对吗?
我觉得OK。
☀️步骤
大公司给我们写好了,一个调用搞定。
我们有opencv这个工具怕什么,嘿嘿。
☀️代码
cv.cvtColor(img,cv.COLOR_BGR2GRAY)
这个函数直接搞定
# 导入cv模块 import cv2 as cv # 读取图片 img = cv.imread("5a131e6fcaf97e615aeaef854cabf65.jpg") # 灰度转换 gray_img=cv.cvtColor(img,cv.COLOR_BGR2GRAY) # 显示灰度 cv.imshow('gray',gray_img) #保存灰度图片 cv.imwrite('gray_face11.jpg',img) # 显示图片 cv.imshow("read_img",img) # 等待一小下,不然图片一闪而过 cv.waitKey(0) # 释放内存 cv.destroyAllWindows()
⭐️总结
这些就是我们要做一个人脸识别的前期工作。
要把数据尽量地裁剪、简化。
方便计算机处理。
我们让程序可以读取图片,把彩的图片转成黑白的,尺寸标准化
。
下一篇开始,我们让我们的程序可以干活,可以人脸检测!
跟上坤哥的节奏!
🌟 一个故事
python学习之路任重而道远,要想学完说容易也容易,说难也难。 很多人说python最好学了,但扪心自问,你会用python做什么了?
刚开始在大学学习c语言,写一个飞行棋的小游戏,用dos界面来做,真是出力不讨好。 地图要自己一点一点画出来,就像这样:
================ | | | | |===============
从此讨厌编程,不想继续学下去。每次作业应付。 算法考试,数据结构考试随便背代码,只求通过。 最后呢?我学会变成了吗?只能对一些概念侃侃而谈,但真的会几行代码,能写出实用工具吗? 答案变得模糊。 所以我们要从现在开始,学好python,不要再糊弄下去!!!