赞
踩
首先安装opencv:
cmd
然后输入:install opencv-python
刚接触人脸识别,正在学习:代码是从绘制图片到人脸识别,里面的jpg图片找个有一个人脸图片就行,放在项目的根目录下就会被检测到。
话不多说直接上代码:
- #导入cv模块
- import cv2 as cv
- import numpy as np
- def face_detect_demo():
- #灰度图像检测人脸速度快
- gary = cv.cvtColor(img,cv.COLOR_BGR2GRAY)
- face_detect = cv.CascadeClassifier('E:/Python/Lib/site-packages/cv2/data/haarcascade_frontalface_alt2.xml')
- face = face_detect.detectMultiScale(gary,1.01,5,0,(100,100),(300,300))#各参数意思 (图片、每次搜索扩大的范围倍数、表示构成检测目标的相邻矩形的最小个数、设置人脸排除区域、最后两个限制得到目标的区域范围)
- for x,y,w,h in face:
- cv.rectangle(img,(x,y),(x+w,y+h),color=(0,0,255),thickness=2)
- #cv.imshow('result',img)
- #读取图片
- img = cv.imread('face1.jpg')
- #灰度转换
- str = "hello"
-
- #为图片加文字
- font = cv.FONT_HERSHEY_COMPLEX
- color = (10,20,20)
- cv.putText(img,str,(200,200),font,5,(0,255,0),3) #参数意思 (图片、添加的文字、左上角坐标、字体、字体大小、颜色、字体粗细)
-
- #在图片上绘制图形
- x,y,w,h=100,100,100,100
- #绘制矩形
- cv.rectangle(img,(x,y),(x+w,y+h),color=(0,0,255),thickness=1)#各参数意思(图片、左上坐标、右下坐标、颜色、矩形边框的宽度)
- #thickness为负数,表示填充整个矩形
- #绘制圆形
- cv.circle(img,center=(x+w,y+h),radius=100,color=(255,0,0),thickness=5)
-
- #设置图片为灰色
- gray_img = cv.cvtColor(img,cv.COLOR_BGR2GRAY)
-
- #检测人脸
- face_detect_demo()
-
- #显示灰度图片
- cv.imshow('gray',gray_img)
- #保存灰度图片
- cv.imwrite('gray_face1.jpg',gray_img) #''中可以写名字加路径
- #显示原图片
- cv.imshow('read_img',img)
- #等待
- #按任意键结束图片显示
- cv.waitKey(0)
- #释放内存
- cv.destroyAllWindows()
-
-
-
- # **********
- # bilibili:竞赛空间
- # 公众号:竞赛空间
- # 淘宝:竞赛空间
- # **********
注意:cv.CascadeClassifier()中的xml文件在安装python时候就自动存在lib目录中,不用格外下载。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。