opencv 学习之简单人脸识别学习
2017-02-12 10:03
387 查看
这次学习主要是从http://blog.csdn.net/wangyaninglm/article/details/51731989这篇文章里学到的。
学习 opencv已经快4个月多了,看了很多关于图像处理的文章和书籍,但只是学会一些比较基础的关于图像基础操作,例如找出背景之类简单操作。
这次,挑战稍微实用的人脸识别。步骤较为简单,首先读出图片,然后将其转换为灰度图。加载官方的人脸识别库。
然后调用detectMultiScale(gray, 1.2,3,CV_HAAR_SCALE_IMAGE,Size(30, 30))函数,获取是被出来的人脸序列(实际是关于人脸坐标和大小的2x2矩阵序列);用矩形圈起来。
源代码如下:
#coding=utf-8
import numpy as np
import cv2
def faceRecognize(image):
# 检测出人脸的官方库加载
face_cas=cv2.CascadeClassifier('lbpcascade_frontalface.xml')
#读取图片
img=cv2.imread(image);
#获取图片灰度
gray=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY);
# 识别输入图片中的人脸对象.返回对象的矩形尺寸
# 函数原型detectMultiScale(gray, 1.2,3,CV_HAAR_SCALE_IMAGE,Size(30, 30))
# gray需要识别的图片
# 1.03:表示每次图像尺寸减小的比例
# 5:表示每一个目标至少要被检测到4次才算是真的目标(因为周围的像素和不同的窗口大小都可以检测到人脸)
# CV_HAAR_SCALE_IMAGE表示不是缩放分类器来检测,而是缩放图像,Size(30, 30)为目标的最小最大尺寸
# faces:表示检测到的人脸目标序列,将这张图片里面的所有人脸用矩形圈起来
faces = face_cas.detectMultiScale(gray, 1.03, 5)
for(x,y,w,h)in faces:
if w+h>200:
img2=cv2.rectangle(img,(x,y),(x+w,y+h),(255,255,255),4);
cv2.imwrite("2.jpg",img);
if __name__ == "__main__":
faceRecognize("./1.jpg")原图:
效果图如下:
学习 opencv已经快4个月多了,看了很多关于图像处理的文章和书籍,但只是学会一些比较基础的关于图像基础操作,例如找出背景之类简单操作。
这次,挑战稍微实用的人脸识别。步骤较为简单,首先读出图片,然后将其转换为灰度图。加载官方的人脸识别库。
然后调用detectMultiScale(gray, 1.2,3,CV_HAAR_SCALE_IMAGE,Size(30, 30))函数,获取是被出来的人脸序列(实际是关于人脸坐标和大小的2x2矩阵序列);用矩形圈起来。
源代码如下:
#coding=utf-8
import numpy as np
import cv2
def faceRecognize(image):
# 检测出人脸的官方库加载
face_cas=cv2.CascadeClassifier('lbpcascade_frontalface.xml')
#读取图片
img=cv2.imread(image);
#获取图片灰度
gray=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY);
# 识别输入图片中的人脸对象.返回对象的矩形尺寸
# 函数原型detectMultiScale(gray, 1.2,3,CV_HAAR_SCALE_IMAGE,Size(30, 30))
# gray需要识别的图片
# 1.03:表示每次图像尺寸减小的比例
# 5:表示每一个目标至少要被检测到4次才算是真的目标(因为周围的像素和不同的窗口大小都可以检测到人脸)
# CV_HAAR_SCALE_IMAGE表示不是缩放分类器来检测,而是缩放图像,Size(30, 30)为目标的最小最大尺寸
# faces:表示检测到的人脸目标序列,将这张图片里面的所有人脸用矩形圈起来
faces = face_cas.detectMultiScale(gray, 1.03, 5)
for(x,y,w,h)in faces:
if w+h>200:
img2=cv2.rectangle(img,(x,y),(x+w,y+h),(255,255,255),4);
cv2.imwrite("2.jpg",img);
if __name__ == "__main__":
faceRecognize("./1.jpg")原图:
效果图如下:
相关文章推荐
- OpenCV学习:人脸识别 简单程序
- C# OpenCV学习笔记六之人脸识别/五官识别测试
- 【从零学习openCV】IOS7人脸识别实战
- 【OpenCV学习笔记 022】人脸识别 小试牛刀
- OpenCV学习记录(二):自己训练haar特征的adaboost分类器进行人脸识别 标签: 脸部识别opencv 2017-07-03 21:38 26人阅读
- Opencv学习(人脸识别)
- 学习Opencv, 人脸识别, 图片来自百度
- opencv学习(十)(opencv3.0.0+VS2012+win7)打开摄像头并且进行人脸识别的例子
- 接深度学习,opencv人脸识别,目标检测等项目
- OpenCV学习 物体检测 人脸识别 填充颜色
- OpenCV学习记录(一):使用haar分类器进行人脸识别
- opencv学习-Cascade Classifier-人脸人眼识别
- Opencv 入门学习之图片人脸识别
- 人脸识别《一》opencv人脸识别之收集人脸并学习
- opencv学习之Adaboost算法进行人脸识别
- 学习OpenCV——行人识别&人脸识别(总算运行出来了)
- opencv学习-建立人脸识别分类器
- 基于OpenCv的人脸检测、识别系统学习制作笔记之三
- 学习opencv的趣事:关于人脸识别
- Python + OpenCV 实现简单的人脸识别