opencv 学习之简单人脸识别学习
来源:互联网 发布:淘宝双十一 编辑:程序博客网 时间:2024/05/20 19:50
这次学习主要是从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-8import numpy as npimport 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")原图:
效果图如下:
0 0
- opencv 学习之简单人脸识别学习
- OpenCV学习:人脸识别 简单程序
- opencv学习之Adaboost算法进行人脸识别
- ios学习之基于 OpenCV的人脸识别
- opencv 学习之 车牌识别
- Opencv之简单人脸识别
- 人脸识别《一》opencv人脸识别之收集人脸并学习
- Opencv学习(人脸识别)
- opencv学习-pca人脸识别
- 学习opencv——人脸识别
- Dlib+OpenCV深度学习人脸识别
- C# OpenCV学习笔记六之人脸识别/五官识别测试
- 学习OpenCV——行人识别&人脸识别
- 基于PCA简单的人脸识别opencv实现-图像处理学习笔记
- opencv 学习之 液晶数字识别
- 目标检测与分类学习之路----opencv人脸检测识别(zero)
- 学习opencv的趣事:关于人脸识别
- opencv学习-建立人脸识别分类器
- 重发被删旧文:钓鱼岛,爱国者的滑…
- 杂_感想
- 一二三 CSU - 1100
- 剑桥商务英语中级BECV2013六月北外…
- Error creating bean with name 'sessionFactory' defined in class path resource [applicationContext.xm
- opencv 学习之简单人脸识别学习
- 使用Dlib库进行人脸检测与对齐
- android-BroadcastReceiver有序广播
- 软件开发常见文档
- leetcode_middle_39_424. Longest Repeating Character Replacement
- 计算机的组成 —— 磁盘阵列(RAID)
- 字符编码
- Service服务
- Matlab数据的可视化 -- 极坐标图及其与直角坐标图的转换