失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > python中opencv怎么检测双眼_使用OpenCV在Python中进行人脸和眼睛检测

python中opencv怎么检测双眼_使用OpenCV在Python中进行人脸和眼睛检测

时间:2023-03-20 05:39:35

相关推荐

python中opencv怎么检测双眼_使用OpenCV在Python中进行人脸和眼睛检测

使用的模块:

python-opencv(cv2)

python-opencv(cv2)

Opencv(Open source computer vision) 是一个python库,可帮助我们解决计算机视觉问题。

下载python-opencv(cv2)通用方式:pip install python-opencv

Pycharm用户:Pycharm用户可以从项目解释器下载此模块。

在这里,我们将检测个人的脸部和眼睛。为此,我们使用系统的网络摄像头和XML文件来检测面部和眼睛。我们将在帧中检测到面部,然后将眼睛插入面部,因此我们将进入面部坐标并检测眼睛,并在检测到的面部和眼睛上绘制矩形。

与面部和眼睛检测相关的功能cv2.CascadeClassifier(“ ”):此函数用于获取面部和眼睛的提取物,以及如何检测它们。

cv2.Videocapture():这是用于通过我们系统的网络摄像头进行视频捕获。

.detectmultiscale(,1.3,5):检测帧中的面部或眼睛。

cv2.rectangle(,(,,(),厚度= )

注意:面部和眼睛的检测将处于灰度模式。

用于面部和眼睛检测的XML文件的链接为:人脸: https : ///abhinav0606/Face-and-Eyes-Tracker/blob/master/face.xml

眼睛: https : ///abhinav0606/Face-and-Eyes-Tracker/blob/master/eye.xml

用于检测人脸和眼睛的Python代码

# 导入模块

importcv2

# 现在我们有了haarcascades文件

# 检测脸部和眼睛检测脸部

faces=cv2.CascadeClassifier("face.xml")

# 侦测眼睛

eyes=cv2.CascadeClassifier("eye.xml")

# 通过网络摄像头捕获帧

capture=cv2.VideoCapture(0)

# 现在运行网络摄像头的循环

whileTrue:

# 阅读网络摄像头

ret,frame=capture.read()

# 现在脸在框架中

# 检测是通过灰度框完成的

gray_frame=cv2.cvtColor(frame,cv2.COLOR_BGR2GRAY)

face=faces.detectMultiScale(gray_frame,1.3,5)

# 现在进入面部及其位置

for(x,y,w,h)inface:

# 在脸上绘制矩形

cv2.rectangle(frame,(x,y),(x+w,y+h),(0,0,255),thickness=4)

# 现在眼睛在脸上

# 所以我们必须将脸框设为灰色

gray_face=gray_frame[y:y+h,x:x+w]

# 使颜色也变脸

color_face=frame[y:y+h,x:x+w]

# 检查这只脸上的眼睛

eye=eyes.detectMultiScale(gray_face,1.3,5)

# 以其位置进入眼睛

for(a,b,c,d)ineye:

# 我们必须在

# 彩色的脸

cv2.rectangle(color_face,(a,b),(a+c,b+d),(0,255,0),thickness=4)

# 显示框架

cv2.imshow("Abhinav'sFrame",frame)

ifcv2.waitKey(1)==13:

break

# 结束循环后,释放框架capture.release()cv2.destroyAllWindows()

运行程序,打开电脑摄像头,即可查看和输出,人脸和眼睛检测图像

如果觉得《python中opencv怎么检测双眼_使用OpenCV在Python中进行人脸和眼睛检测》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。