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

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

所需依赖:

OpenCV
NumPy
urllib

检测思想

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

具体代码

#!/usr/bin/env python2
#-*- coding: utf-8 -*-
import cv2
import sys
import numpy as np
import urllib

url = 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 image

faceCascade = 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)

你可能感兴趣的:(图像处理,计算机视觉库_opencv)