如果没有安装PyCharm,csdn上面搜一下安装教程就行,很简单的。
打开PyCharm,如果没有装opencv,则点击最下面的terminal,在终端下输入pip install opencn-python
, 自动安装opencv库
新建一个文件夹,再新建一个.py文件
下面去白嫖一个人脸识别的代码,在浏览器输入https://github.com/opencv/opencv/blob/4.x/data/haarcascades/haarcascade_frontalface_default.xml
选raw后ctrl + a选中全部,再ctrl + c复制,回到刚才的文件夹里新建一个.xml文件,然后ctrl + v粘贴,再crtl + s保存一下,搞定。
回到.py文件,把下面的代码复制进去
import cv2 #引入opencv库
cap = cv2.VideoCapture(0) #调用PC的摄像头
while True: #一直循环,把摄像头抓拍到的每一帧图像都show出来,形成视频
ret, frame = cap.read()
if ret:
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) #摄像头抓到的图片转为灰度图片,为人脸识别作准备
faceCascade = cv2.CascadeClassifier('face_detect.xml')
faceRect = faceCascade.detectMultiScale(gray, 1.1, 5) #表示在前后两次相继的扫描中,搜索窗口的比例系数。默认为1.1即每次搜索窗口依次扩大10%;最后的系数表示构成检测目标的相邻矩形的最小个数(默认为3个,越大越严谨)。
print(len(faceRect))
for (x, y, w, h) in faceRect:
cv2.rectangle(frame, (x, y), (x + w, y + h), (255, 0, 0), 2) #画矩形框住人脸
cv2.putText(frame, 'Human', (x, y - 5), cv2.FONT_HERSHEY_SIMPLEX, 1, (0, 0, 255), 2) #写文字
cv2.imshow('video', frame) #把摄像头抓拍到的一帧图像show出来
else: break
if cv2.waitKey(1) == ord('q'): #按q退出
break
运行,你会看到自己的脸蛋儿被识别出来啦!
阅读全文