使用OpenCV在Python中进行人脸和眼睛检测
Modules Used:
使用的模塊:
python-opencv(cv2)python-opencv(cv2)
python-opencv(cv2)
Opencv(Open source computer vision) is a python library that will help us to solve computer vision problems.
Opencv(開源計算機視覺)是一個Python庫,可幫助我們解決計算機視覺問題。
Download python-opencv(cv2)
下載python-opencv(cv2)
General Way: pip install python-opencv
通用方式: pip install python-opencv
Pycharm users: Pycharm users can download this module from the project interpreter.
Pycharm用戶:Pycharm用戶可以從項目解釋器下載此模塊。
Here, we will detect the face and eyes of the individual. For this, we use the webcam of our system and the XML files to detect the face and eyes. We will detect the face in the frame and after that eyes are in the face so we will enter into the coordinates of the face and will detect the eyes and draw the rectangle on the face and eye detected.
在這里,我們將檢測個人的臉和眼睛 。 為此,我們使用系統的網絡攝像頭和XML文件來檢測面部和眼睛。 我們將在幀中檢測到面部,然后將眼睛插入面部,因此我們將進入面部坐標并檢測眼睛,并在檢測到的面部和眼睛上繪制矩形。
Functions related the face and eye detection
與面部和眼睛檢測相關的功能
cv2.CascadeClassifier("<xml file for detection>"): This function is for getting the face and eyes extracts, how we will detect them.
cv2.CascadeClassifier(“ <用于檢測的xml文件>”):此函數用于獲取面部和眼睛的提取物,以及我們將如何檢測它們。
cv2.Videocapture(): This is for the Videocapturing through the webcam of our system.
cv2.Videocapture():用于通過我們系統的網絡攝像頭進行視頻捕獲。
<face or eye extract>.detectmultiscale(<Gray_scale image>,1.3,5): To detect the the face or eyes in the frame.
<面部或眼睛提取物> .detectmultiscale(<灰度圖像>,1.3,5):檢測幀中的面部或眼睛。
cv2.rectangle(<frame on which we want the rectangle>,(<starting position>,<ending position>,(<color>),thickness=<thickness of the border>)
cv2.rectangle(<我們要在其上放置矩形的框架>,(<開始位置>,<結束位置>,(<顏色>),厚度= <邊框的厚度>)
Note: The detection of the face and eyes will be in grayscale mode.
注意:面部和眼睛的檢測將處于灰度模式。
The link to the XML files for the face and eye detection is :
用于面部和眼睛檢測的XML文件的鏈接是:
Face : https://github.com/abhinav0606/Face-and-Eyes-Tracker/blob/master/face.xml
人臉: https : //github.com/abhinav0606/Face-and-Eyes-Tracker/blob/master/face.xml
Eye: https://github.com/abhinav0606/Face-and-Eyes-Tracker/blob/master/eye.xml
眼睛: https : //github.com/abhinav0606/Face-and-Eyes-Tracker/blob/master/eye.xml
用于檢測人臉和眼睛的Python代碼 (Python code to detect face and eyes)
# import the modules import cv2# now we have the haarcascades files # to detect the face and eyes to detect the face faces=cv2.CascadeClassifier("face.xml")# to detect the eyes eyes=cv2.CascadeClassifier("eye.xml")# capture the frame through webcam capture=cv2.VideoCapture(0)# now running the loop for the webcam while True:# reading the webcamret,frame=capture.read()# now the face is in the frame# the detection is done with the gray scale framegray_frame=cv2.cvtColor(frame,cv2.COLOR_BGR2GRAY)face=faces.detectMultiScale(gray_frame,1.3,5)# now getting into the face and its positionfor (x,y,w,h) in face:# drawing the rectangle on the facecv2.rectangle(frame,(x,y),(x+w,y+h),(0,0,255),thickness=4)# now the eyes are on the face# so we have to make the face frame graygray_face=gray_frame[y:y+h,x:x+w]# make the color face alsocolor_face=frame[y:y+h,x:x+w]# check the eyes on this faceeye=eyes.detectMultiScale(gray_face,1.3,5)# get into the eyes with its positionfor (a,b,c,d) in eye:# we have to draw the rectangle on the# coloured facecv2.rectangle(color_face,(a,b),(a+c,b+d),(0,255,0),thickness=4)# show the framecv2.imshow("Abhinav's Frame",frame)if cv2.waitKey(1)==13:break# after ending the loop release the frame capture.release() cv2.destroyAllWindows()Output:
輸出:
翻譯自: https://www.includehelp.com/python/face-and-eye-detection-in-python-using-opencv.aspx
總結
以上是生活随笔為你收集整理的使用OpenCV在Python中进行人脸和眼睛检测的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Mybatis中SQL注入攻击的3种方式
- 下一篇: java 方法 示例_Java语言环境g