- 部分 I. Python 入门
- 第 1 章 Python 入门
- 第 2 章 Python Package Index (PyPI)
- 第 3 章 Python 模块
- 第 4 章 数据类型
- 第 5 章 数据结构
- 第 6 章 Class
- 第 7 章 Input/Output
- 第 8 章 Pipe
- 第 9 章 Library
- 9.2. 随机数
- 9.3. Python 多线程
- 9.13. syslog
- 9.5. Socket
- 9.6. subprocess
- 9.7. YAML
- 9.8. Daemon
- 9.9. python-memcached
- 9.10. Pyro - Pyro is short for PYthon Remote Objects
- 9.11. Python Imaging Library
- 9.12. getopt – Command line option parsing
- 9.14. python-subversion
- 9.15. SimpleHTTPServer
- 9.16. fuse-python.x86_64 : Python bindings for FUSE - filesystem in userspace
- 9.17. Network
- 9.18. Python-spdylay - Spdylay Python Extension Module
- 9.19. mechanize
- 9.20. Dominate
- 第 10 章 Frameworks
- 第 12 章 终端环境开发
- 部分 II. Python 数据分析
- 第 13 章 Crawler
- 第 14 章 Scrapy - Python web scraping and crawling framework
- 第 15 章 Pandas - Python Data Analysis Library
- 第 16 章 股票
- 第 17 章 数据可视化
- 部分 III. 人工智能 AI
- 第 18 章 OCR
- 第 19 章 语音处理
- 第 20 章 视频
- 第 21 章 人脸识别
- 第 22 章 自然语言处理
- 第 23 章 自动化运维
- 第 24 章 办公自动化
- 第 25 章 OpenCV
- 第 26 章 图形开发
- 第 27 章 3rdparty toolkit
- 第 29 章 实用代码
- 第 30 章 FAQ
文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
21.5. 摄像头识别人脸
21.5. 摄像头识别人脸
import face_recognition import cv2 import numpy as np # Get a reference to webcam #0 (the default one) video_capture = cv2.VideoCapture(1) # Load a sample picture and learn how to recognize it. image = face_recognition.load_image_file("me.jpg") known_face_encodings = face_recognition.face_encodings(image)[0] while True: # Grab a single frame of video ret, frame = video_capture.read() # Convert the image from BGR color (which OpenCV uses) to RGB color (which face_recognition uses) rgb_frame = frame[:, :, ::-1] # Find all the faces and face enqcodings in the frame of video face_locations = face_recognition.face_locations(rgb_frame) face_encodings = face_recognition.face_encodings(rgb_frame, face_locations) # Loop through each face in this frame of video for (top, right, bottom, left), face_encoding in zip(face_locations, face_encodings): # See if the face is a match for the known face(s) matches = face_recognition.compare_faces( [known_face_encodings], face_encoding) name = "Unknown" if matches[0] == True: print("It's a picture of me!") else: print("It's not a picture of me!") # Or instead, use the known face with the smallest distance to the new face face_distances = face_recognition.face_distance( [known_face_encodings], face_encoding) best_match_index = np.argmin(face_distances) if matches[best_match_index]: name = 'netkiller' # Draw a box around the face cv2.rectangle(frame, (left, top), (right, bottom), (0, 0, 255), 2) # Draw a label with a name below the face cv2.rectangle(frame, (left, bottom - 35), (right, bottom), (0, 0, 255), cv2.FILLED) font = cv2.FONT_HERSHEY_DUPLEX cv2.putText(frame, name, (left + 6, bottom - 6), font, 1.0, (255, 255, 255), 1) # Display the resulting image cv2.imshow('Video', frame) # Hit 'q' on the keyboard to quit! if cv2.waitKey(1) & 0xFF == ord('q'): break # Release handle to the webcam video_capture.release() cv2.destroyAllWindows()
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论