|  | 
 
| 
本帖最后由 宋恺 于 2020-8-10 17:22 编辑
x
马上注册,结交更多好友,享用更多功能^_^您需要 登录 才可以下载或查看,没有账号?立即注册  
 此程序需要安装opencv
 可以直接在cmd中输入:
 
 复制代码pip install opencv-python
但因为服务器在国外,所以会很慢,建议在cmd中输入:
 
 复制代码python -m pip install opencv-python -i https://pypi.tuna.tsinghua.edu.cn/simple
一劳永逸的办法:
 https://fishc.com.cn/thread-143635-1-1.html
 
 
 代码:
 
 复制代码import cv2
def CatchUsbVideo(window_name):
  cv2.namedWindow(window_name)
  
  #视频来源,来自USB摄像头
  cap = cv2.VideoCapture(0)        
  
  #告诉OpenCV使用人脸识别分类器
  classfier = cv2.CascadeClassifier(r"E:\python\Lib\site-packages\cv2\data\haarcascade_frontalface_default.xml")#文件haarcascade_frontalface_default.xml的路径
  
  #识别出人脸后要画的边框的颜色,RGB格式
  color = (0, 255, 0)
    
  while cap.isOpened():
    ok, frame = cap.read() #读取一帧数据
    if not ok:      
      break     #将当前帧转换成灰度图像
    grey = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)         
    
    #人脸检测,1.2和2分别为图片缩放比例和需要检测的有效点数
    faceRects = classfier.detectMultiScale(grey, scaleFactor = 1.2, minNeighbors = 5, minSize = (32, 32))
    if len(faceRects) > 0:      #大于0则检测到人脸                  
      for faceRect in faceRects: #单独框出每一张人脸
        x, y, w, h = faceRect    
        cv2.rectangle(frame, (x - 10, y - 10), (x + w + 10, y + h + 10), color, 2)
            
    #显示图像
    cv2.imshow(window_name, frame)    
    c = cv2.waitKey(10)
     
  
  #释放摄像头
  cap.release()
  cv2.destroyAllWindows() 
CatchUsbVideo("")
关于haarcascade_frontalface_default.xml文件的路径,请改为你自己电脑的路径,此文件在:
 安装python的盘\安装python的文件夹\Lib\site-packages\cv2\data\haarcascade_frontalface_default.xml
 
 | 
 |