怎样使用OpenCV进行opencv ios 人脸识别别

利用OpenCV实现人脸检测
&如何在一副图片中检测到人脸,这涉及到计算机图形学中一些非常复杂的计算,如果这些计算都靠程序员自己来编程,那么工作量就相当大。OpenCV全称是Open Computer Vision,是指开放的计算机视觉资源代码,它具有:统一的结构和功能定义、强大的图像和矩阵运算能力、方便灵活的接口等特点,是计算机视觉、图像处理和模式识别等方面进行二次开发的理想工具。它可以在各种版本的Windows下运行,也可以在Linux下运行。OpenCV的源代码是用C和C++所编写且完全开放的,因此具有很好的可移植性,在Microsoft Visual C++ 6.0、Microsoft Visual Studio 2003及Borland C++ BuilderX等环境下均可方便地使用OpenCV所提供的库来进行实际开发。本程序以Visual C++ 2005作为开发环境来介绍。
一、OpenCV在Visual C++ 2005下的安装与配置
1.OpenCV安装
首先到OpenCV的官方网站(http://sourceforge.net/projects/opencvlibrary)下载OpenCV并进行安装,安装过程很简单,只要按照安装向导一步一步进行即可。
2.对Visual C++ 2005进行全局设置
1)打开Visual C++ 2005,选择&Tools(工具) | Options(选项)&菜单项,弹出如图1所示的对话框。
2)在左侧列表框中选择&Projects and Solutions(项目和解决问题方案) | VC++ Directories(VC++目录)&。
3)在&Show directories for(显示以下内容的目录)&下拉列表框中选择&Library Files(库文件)&。
4)在右侧库文件列表框中定位并添加&& OpenCV 安装目录&OpenCVlib& 。
5)在&Show directories for(显示以下内容的目录)&下拉列表框中选择&Include Files(包含文件)&,并在右侧列表框中定位并添加以下路径:
& OpenCV 安装目录&OpenCVcxcoreinclude
& OpenCV 安装目录&OpenCVcvinclude
& OpenCV 安装目录&OpenCVcvauxinclude
& OpenCV 安装目录&OpenCVmlinclude
& OpenCV 安装目录&OpenCVotherlibshighgui
& OpenCV 安装目录&OpenCVotherlibscvcaminclude
& OpenCV 安装目录&OpenCVMicrosoft Platform SDKInclude
【声明】:黑吧安全网()登载此文出于传递更多信息之目的,并不代表本站赞同其观点和对其真实性负责,仅适于网络安全技术爱好者学习研究使用,学习中请遵循国家相关法律法规。如有问题请联系我们,联系邮箱,我们会在最短的时间内进行处理。
上一篇:【】【】OpenCV利用摄像头人脸识别_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
OpenCV利用摄像头人脸识别
阅读已结束,如果下载本文需要使用
想免费下载本文?
你可能喜欢页面导航:
→ 正文内容 python OpenCV使用例子
python中使用OpenCV进行人脸检测的例子
这篇文章主要介绍了python中使用OpenCV进行人脸检测的例子,需要的朋友可以参考下
OpenCV的人脸检测功能在一般场合还是不错的。而ubuntu正好提供了python-opencv这个包,用它可以方便地实现人脸检测的代码。
写代码之前应该先安装python-opencv:
代码如下:$ sudo apt-get install python-opencv
具体原理就不多说了,可以参考一下。直接上源码。
代码如下:#!/usr/bin/python# -*- coding: UTF-8 -*-
# face_detect.py
# Face Detection using OpenCV. Based on sample code from:# /m76db1d6b
# Usage: python face_detect.py &image_file&
import sys, osfrom opencv.cv import *from opencv.highgui import *from PIL import Image, ImageDrawfrom math import sqrt
def detectObjects(image):&&& """Converts an image to grayscale and prints the locations of any faces found"""&&& grayscale = cvCreateImage(cvSize(image.width, image.height), 8, 1)&&& cvCvtColor(image, grayscale, CV_BGR2GRAY)
&&& storage = cvCreateMemStorage(0)&&& cvClearMemStorage(storage)&&& cvEqualizeHist(grayscale, grayscale)
&&& cascade = cvLoadHaarClassifierCascade(&&&&&&& '/usr/share/opencv/haarcascades/haarcascade_frontalface_default.xml',&&&&&&& cvSize(1,1))&&& faces = cvHaarDetectObjects(grayscale, cascade, storage, 1.1, 2,&&&&&&& CV_HAAR_DO_CANNY_PRUNING, cvSize(20,20))
&&& result = []&&& for f in faces:&&&&&&& result.append((f.x, f.y, f.x+f.width, f.y+f.height))
&&& return result
def grayscale(r, g, b):&&& return int(r * .3 + g * .59 + b * .11)
def process(infile, outfile):
&&& image = cvLoadImage(infile);&&& if image:&&&&&&& faces = detectObjects(image)
&&& im = Image.open(infile)
&&& if faces:&&&&&&& draw = ImageDraw.Draw(im)&&&&&&& for f in faces:&&&&&&&&&&& draw.rectangle(f, outline=(255, 0, 255))
&&&&&&& im.save(outfile, "JPEG", quality=100)&&& else:&&&&&&& print "Error: cannot detect faces on %s" % infile
if __name__ == "__main__":&&& process('input.jpg', 'output.jpg')
您可能感兴趣的文章:
上一篇:下一篇:
最 近 更 新
热 点 排 行
12345678910【求助】有木有用opencv库做过人脸识别的大神_unity3d吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:32,346贴子:
【求助】有木有用opencv库做过人脸识别的大神收藏
最近在撸一个项目,需要调用摄像机并自动追踪人脸,比如镜头内出现了人脸,就会出现一个圆圈圈住并跟踪人脸,调用摄像机是会,但是人脸追踪怎么办那,大概思路是通过人脸表情库提取人脸的特征信息然后就可以识别出人脸,但是代码的话一点思路都没有。求大神指点一二
进错吧系列,计算机图像学跟Unity有毛关系。。。自己多看资料,没人帮你,会的人没时间上贴吧。。。
OpenCV*OpenCV 是一个知名的开源图像处理工具包。我们为OpenCV实现了一系列基于OpenCL加速的API,包括人脸识别算法等复杂算法。其中人脸识别算法被应用到一个叫IrfanView的图像处理软件里面。通过OpenCV的加速,这个软件具备了在大量照片中过滤人物照的功能。除此以外,一些更底层的算法同样有GPU的版本,这些算法方便开发人员用多个算法构造一个pipeline型的复杂应用,从而充分发挥GPU和CPU的综合性能。人脸识别在IrfanView当中的应用在AFDS2012当中有单独的报告来展示。
Cascades分类器的人脸检测方法的OpenCL加速实现用haar 级联分类器对图像特征进行提取的过程就是将图像分割各成指定尺寸的窗口,对每一个窗口用级联分类器进行过滤,由于各窗口的过滤相互独立,这种算法比较合适于用GPU进行优化,我们通过OpenCL并行编程,对人脸检测中,各个窗口的过滤,积分图的计算 都进行了并行化,总体上能提高人脸检测时间5至10倍。基于OpenCL的Adaboost并行人脸检测算法Boosting是一个将一个弱学习算法提升为强学习算法的过程,主要应用在机器学习领域中,比如运动目标检测和识别等, Adaboost算法(Adaptive Boosting)是最具代表性的算法之一。Adaboost算法及与之相关的积分图运算过程具有很高的并行性。在基于CPU的算法中,Haar小波基函数的特征值计算是串行求值的过程,与之对应的窗口扫描过程也是串行的。利用GPU的高度并行计算特性,我们可以将Haar小波基特征值计算过程以及窗口扫描过程并行化,从而大大加快算法运行速度。
登录百度帐号推荐应用
为兴趣而生,贴吧更懂你。或

我要回帖

更多关于 opencv人脸识别原理 的文章

 

随机推荐