Opencv +Win10 +pycharm 简单人脸识别

工具:
仅用到PyCharm

如果只想看完整代码可以直接跳到最后。

首先,在PyCharm上安装opencv-python,opencv-contrib-python,这里我直接安装最新的4.5.1
在这里插入图片描述
如果你没有下载,那就点开pycharm的设置
在这里插入图片描述
在python解释器中,点击右上角的加号,然后输入opencv-python,opencv-contrib-python进行安装即可
在这里插入图片描述
首先明确思路:
1.导入人脸识别的级联分类器cv2.CascadeClassifier("haarcascade_frontalface_default.xml")这里括号里的内容是haarcascade_frontalface_default.xml文件路径,
在你安装好opencv-python库后,那个.xml文件是opencv自带的,如果你找不到,可以点下载 提取码:0000
2.载入你要识别的人脸图片,这要用到cv2.imread("图片路径“)这里,还要注意还需要把载入的图片进行一次灰度处理
i = cv2.imread("图片路径",0),也就是在之前imread()加个0,加0就是对图片进行灰度处理。如果不进行灰度处理,图片识别的速率会降低。
3.下面就用detectMultiScale()函数来检测人脸
faces = facec.detectMultiScale(灰度图片,1.1,4)那个1.1就是图片尺寸参数默认就是1.1,那个4就是至少4次重叠检验才确定有人脸存在。
4.还有就是要加一个矩形把人脸框起来,先用一个for循环把检测的人脸遍历一次,在依次把脸框起来,代码如下:

for (x,y,w,h) in faces:
    cv2.rectangle(img,(x,y),(x+w,y+h),(0,255,0),2)

这里在注意一点就是cv2.rectangle()函数,cv2.rectangle(检测图片,矩形左上角坐标,矩形右下角坐标,矩形颜色,矩形边缘线的粗细)
那个在opencv中坐标和我们印象中的不同,它方向如下:
在这里插入图片描述
5.展示图片cv2.imshow("窗口名称”,图片)
6.结束进程,用cv2.waitKey(0)函数,用法是按下任意键结束进程。

下面,我展示我完整代码:

import cv2
facec = cv2.CascadeClassifier("haarcascade_frontalface_default.xml")
img = cv2.imread("测试图片路径")
i = cv2.imread("测试图片路径",0)

faces = facec.detectMultiScale(i,1.1,4)
for (x,y,w,h) in faces:
    cv2.rectangle(img,(x,y),(x+w,y+h),(0,255,0),2)

cv2.imshow("l",img)
cv2.waitKey(0)

结果可以看看:
在这里插入图片描述
当然,我们所作的这些都是调用并运用opecv中的级联分类器,我们也可以自定义级联分类器。最后,感叹一声opencv太强了啊😜。

  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值