人脸识别 | 如何解析URL,并给出人脸检测结果

来源:互联网 发布:七天精通js 编辑:程序博客网 时间:2024/06/06 05:32

本文给出最简单的人脸检测测试代码,与常见的场景不同的是,需要从互联网抓取图像,并非本地上存在的图像。

所需依赖:

OpenCV
NumPy
urllib

检测思想

首先使用urllib库从URL获取图像地址,并将其转换为图像,然后调用cv自带的Haar人脸检测,判断图像中是否有人脸。

具体代码

#!/usr/bin/env python2#-*- coding: utf-8 -*-import cv2import sysimport numpy as npimport urlliburl = sys.argv[1]cascPath = sys.argv[2]def url_to_image(url):    resp = urllib.urlopen(url)    image = np.asarray(bytearray(resp.read()), dtype="uint8")    image = cv2.imdecode(image, cv2.IMREAD_COLOR)    return imagefaceCascade = cv2.CascadeClassifier(cascPath)image = url_to_image(url)gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)faces = faceCascade.detectMultiScale(gray,scaleFactor=1.1,minNeighbors=5,minSize=(30, 30))print len(faces)