python实现图片,视频人脸识别(opencv版)
图片人脸识别
importcv2
filepath="img/xingye-1.png"
img=cv2.imread(filepath)#读取图片
gray=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)#转换灰色
#OpenCV人脸识别分类器
classifier=cv2.CascadeClassifier(
"C:\Python36\Lib\site-packages\opencv-master\data\haarcascades\haarcascade_frontalface_default.xml"
)
color=(0,255,0)#定义绘制颜色
#调用识别人脸
faceRects=classifier.detectMultiScale(
gray,scaleFactor=1.2,minNeighbors=3,minSize=(32,32))
iflen(faceRects):#大于0则检测到人脸
forfaceRectinfaceRects:#单独框出每一张人脸
x,y,w,h=faceRect
#框出人脸
cv2.rectangle(img,(x,y),(x+h,y+w),color,2)
#左眼
cv2.circle(img,(x+w//4,y+h//4+30),min(w//8,h//8),
color)
#右眼
cv2.circle(img,(x+3*w//4,y+h//4+30),min(w//8,h//8),
color)
#嘴巴
cv2.rectangle(img,(x+3*w//8,y+3*h//4),
(x+5*w//8,y+7*h//8),color)
cv2.imshow("image",img)#显示图像
c=cv2.waitKey(10)
cv2.waitKey(0)
cv2.destroyAllWindows()
视频人脸识别
#-*-coding:utf-8-*-
#OpenCV版本的视频检测
importcv2
#图片识别方法封装
defdiscern(img):
gray=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
cap=cv2.CascadeClassifier(
"C:\Python36\Lib\site-packages\opencv-master\data\haarcascades\haarcascade_frontalface_default.xml"
)
faceRects=cap.detectMultiScale(
gray,scaleFactor=1.2,minNeighbors=3,minSize=(50,50))
iflen(faceRects):
forfaceRectinfaceRects:
x,y,w,h=faceRect
cv2.rectangle(img,(x,y),(x+h,y+w),(0,255,0),2)#框出人脸
cv2.imshow("Image",img)
#获取摄像头0表示第一个摄像头
cap=cv2.VideoCapture(0)
while(1):#逐帧显示
ret,img=cap.read()
#cv2.imshow("Image",img)
discern(img)
ifcv2.waitKey(1)&0xFF==ord('q'):
break
cap.release()#释放摄像头
cv2.destroyAllWindows()#释放窗口资源
以上就是python实现图像,视频人脸识别(opencv版)的详细内容,更多关于python人脸识别的资料请关注毛票票其它相关文章!
热门推荐
1 训练狗狗憋尿
2 狗狗追踪训练
3 狗狗训练要多少钱
5 深圳狗狗训练
6 训练狗狗唤回
7 狗狗叫怎么训练
8 狗狗训练班
10 狗狗社会化训练
11 狗狗叫回训练
12 广州狗狗训练学校
13 狗狗训练躺下
14 狗狗随行训练
15 训练狗狗巡回
16 狗狗要怎么训练
17 狗狗喂食训练
18 训练狗狗躺下