我们来看下效果 原图: 效果: 原理其实很简单: 采用一张圣诞帽的png图像作为素材, 利用png图像背景是透明的,贴在背景图片上就是戴帽子的效果了. 人脸检测的目的主要是为了确定贴帽子的位置,类似ps中自由变换的功能,检测到人脸中间的位置,resize圣诞帽子和人脸大小匹配,确定位置,贴上去,ok! 代码:非常简洁,根据参考博客给出的代码,由OpenCV自带的人脸检测代码经过简单修改即可. // getheader.cpp : 定义控制台应用程序的入口点. // #include "stdaf…
最近学习人脸识别相关的东西,在MFC下使用OpenCV做了一个简单的应用.训练需要较多的数据,windows应用程序终究还是不方便,于是想着做成CS模式:检测识别都放在服务器端,视频获取和显示都放在网页端. 在网上找了一些资料,实现了简单的人脸检测.人脸识别只要在这个框架上加点代码就行.主要参考了下面这篇文章: http://www.open-open.com/home/space-361-do-blog-id-8960.html jetty版本:jetty-9.2.17.v20160517 j…
OpenCV实现人脸检测(转载)  原文链接:https://www.cnblogs.com/mengdd/archive/2012/08/01/2619043.html 本文介绍最基本的用OpenCV实现人脸检测的方法. 一.人脸检测算法原理 Viola-Jones人脸检测方法 参考文献:Paul Viola, Michael J. Jones. Robust Real-Time Face Detection[J]. International Journal of Computer Visi…
全文转载自CSDN的博客(不知道怎么将CSDN的博客转到博客园,应该没这功能吧,所以直接复制全文了),转载地址如下 http://blog.csdn.net/lsq2902101015/article/details/47057081 本篇文章主要介绍了如何使用OpenCV实现人脸检测.本文不具体讲解人脸检测的原理,直接使用OpenCV实现. OpenCV版本:2.4.10:VS开发版本:VS2012. 一.OpenCV人脸检测 要实现人脸识别功能,首先要进行人脸检测,判断出图片中人脸的位置,才…
# OpenCV学习系列(一) Mac下OpenCV + xcode人脸检测实现 [-= 博客目录 =-] 1-学习目标 1.1-本章介绍 1.2-实践内容 1.3-相关说明 2-学习过程 2.1-环境配置 2.2-解决Undefined symbols for architecture x86_64问题 2.3-测试代码 3-资料 1-学习目标 1.1-本章介绍 如题,实现简单人脸检测,及Undefined symbols for architecture x86_64问题相关解决方案. 1.…
开发配置 OpenCV的例程中已经带有了人脸检测的例程,位置在:OpenCV\samples\facedetect.cpp文件,OpenCV的安装与这个例子的测试可以参考我之前的博文Linux 下编译安装OpenCV. 网上能够找到关于OpenCV人脸检测的例子也比较多,大多也都是基于这个例程来更改,只是多数使用的是OpenCV 1.0的版本,而OpenCV2.0以后由于模块结构的更改,很多人并没有将例程运行起来.如果是新版的OpenCV跑旧的例程,编译运行出错的话,需要确保: #include…
1.在windows下编写人脸检测.识别系统.目前已完成:可利用摄像头提取图像,并将人脸检测出来,未进行识别. 2.在linux下进行编译在windows环境下已经能运行的代码. 为此进行了linux系统下OpenCv的安装. 在linux中安装OpenCv遇到了很多问题,已经解决,但是花费了不少时间.目前:可以在linux下编译OpenCv项目,但是运行生成的程序时出现问题.初步认定为采用了虚拟机而导致运行内存不足,程序直接崩溃,将继续解决这个问题. 花费较多时间安装OpenCv是有必要的,为…
一.关于检测算法 分类器训练: 通过正样本与负样本训练可得到分类器,opencv有编译好的训练Demo,按要求训练即可生成,这里我们直接使用其已经训练好的分类器检测: 检测过程: 检测过程很简单,可以通过两种方式进行检测: 1.缩放图像:根据要检测的人脸尺寸范围对原图进行缩放,然后利用窗口(训练时正样本的尺寸),逐个遍历该尺寸下图像的所有潜在人脸位置,与分类器匹配,若通过每一级强分类器,则为人脸,若不能通过任何一级强分类器,则被判定不是人脸: 2.缩放特征:与缩放图像类似,不同的是缩放图像方式遍…
一.实验目的:我这里完成的是,将8张人脸图片(4组,每组两张)存入库中,选取1张图片,程序识别出与其匹配的另一张. 这里介绍分三个步骤完成该工作,①程序读取摄像头.拍照 ②程序从电脑文档中读取图片   ③检测人脸,并用红框框出人脸 ④使用感知哈希算法匹配最相似的图片 二.实验环境: Win 7(x64).visual studio 2010.openCV-2.4.3 使用语言:C++ 三.实验准备:①安装好vs2010,本文不予介绍.   ②配置opencv : 1'进入官网下载http://o…
PYTHON ubuntu16.04 默认安装的Python版本2.7.12,当用pip install opencv-python 安装了opencv for python 3.3.0.10后,运行命令 python -c "import cv2;cap=cv2.VideoCapture(0);print(cv2.isOpened())" 输出为false 经过各种百度,安装其他包文件也没有解决问题. 索性回头运行命令:pip uninstall opencv-python,卸载op…
0. 引言 利用 Python 开发,借助 Dlib 库进行人脸检测 / face detection 和剪切:   1. crop_faces_show.py : 将检测到的人脸剪切下来,依次排序平铺显示在新的图像上: 实现的效果如 图1 所示,将 图1 原图中的 6 张人脸检测出来,然后剪切下来,在图像窗口中依次输出显示人脸: 2. crop_faces_save.py : 将检测到的人脸存储为单个人脸图像: 图 1 原图 和 crop_faces_show.py 处理后得到的平铺人脸图像窗…
基于OpenCv从视频文件到摄像头的人脸检测 在OpenCv中读取视频文件和读取摄像头的的视频流然后在放在一个窗口中显示结果其实是类似的一个实现过程. 先创建一个指向CvCapture结构的指针 CvCapture *capture; 再用两个函数就可以分别获取到视频文件或者摄像头的一些状态信息,然后把这些信息放进去之前指向的结构体 视频文件 capture = cvCreateCameraCapture(0); 打开摄像头 capture = cvCreateFileCapture(argv[…
参考资料 https://github.com/bsdnoobz/web-based-face-detect http://opencv-code.com/projects/web-based-interface-for-face-detection-with-opencv/ http://www.cnblogs.com/findingsea/archive/2012/03/31/2427833.html 流程如下图 背景知识 php调用exe的返回 <html> <body> &…
参考自https://www.pyimagesearch.com/2017/04/03/facial-landmarks-dlib-opencv-python/ 在原有基础上有一部分的修改(image改为可选参数,若不填则为拍照后选取),如果有想深入学习的,可以去关注这位'吴克'先生的文章. 本文不涉及关于人脸检测的训练部分(虽然之后随着学习深入我会再发相关的随笔),只是简单的用轮子. 今天我们来使用dlib和opencv进行人脸的检测标注 首先安装opencv和dlib的方法 pip inst…
必备知识 Haar-like opencv api 读取图片 灰度转换 画图 显示图像 获取人脸识别训练数据 探测人脸 处理人脸探测的结果 实例 图片素材 人脸检测代码 人脸检测结果 总结 下午的时候,配好了OpenCV的Python环境,OpenCV的Python环境搭建.于是迫不及待的想体验一下opencv的人脸识别,如下文. 必备知识 Haar-like Haar-like百科释义.通俗的来讲,就是作为人脸特征即可. Haar特征值反映了图像的灰度变化情况.例如:脸部的一些特征能由矩形特征…
动态人脸检测前提是需要打开摄像头. 网上看了很多教程,我知道的有两种方式打开摄像头: JavaCameraView mCameraView = new JavaCameraView(this, -1); setContentView(mCameraView); mCameraView.setCvCameraViewListener(this); mCameraView.enableView(); 第2种:在布局文件中添加 CameraBridgeViewBase mCameraView = (C…
版本 Java1.8 opencv3.4 代码: import java.awt.Graphics; import java.awt.image.BufferedImage; import javax.swing.JFrame; import javax.swing.JPanel; import org.opencv.core.Mat; import org.opencv.core.MatOfDouble; import org.opencv.core.MatOfRect; import org…
这两天学习了人脸识别,看了学长写的代码,边看边码边理解搞完了一边,再又是自己靠着理解和记忆硬码了一边,感觉还是很生疏,就只能来写个随笔加深一下印象了. 关于人脸识别,首先需要了解的是级联分类器CascadeClassifier,它可以它既可以是Haar特征,也可以是LBP特征的分类器,可以加载OpenCV所提供的库当中的.xml文件,文件存放在anaconda\pkgs\libopencv-3.4.1-h875b8b8_3\Library\etc的haarcascades文件夹中,包含了许多个.…
OpenCV是如今最流行的计算机视觉库,而我们今天就是要学习如何安装使用OpenCV,以及如何去访问我们的摄像头.然后我们一起来看看写一个人脸检测程序是如何地简单,简单到只需要几行代码. 在开始之前,我假设你已经对Python有一定的了解.当然,如果你觉得你还不够格,这里有推荐一些学习Python的电子书,你可以先学习下Python,如此可以让你更好地理解接下来的步骤.另外,这里还推荐一本电子书来学习OpenCV. 好,不浪费时间,开始吧. To setup opencv in python e…
转自:http://www.cnblogs.com/sciencefans/ 作者:sciencefans 最近项目略多,其中一个需要找出一些和脸比较像但是不是脸的负样本,想用opencv的人脸检测器检测到的错误脸作为这样的负样本. 但是国内(包括国外)居然几乎没有相关的资料如何输出detectMultiScale()的置信率或者说是人脸得分 所以写一篇小小的总结供有相关需求的人参考. 转载需注明:http://www.cnblogs.com/sciencefans/ 看了下人脸识别函数的ope…
最近项目略多,其中一个需要找出一些和脸比较像但是不是脸的负样本,想用opencv的人脸检测器检测到的错误脸作为这样的负样本. 但是国内(包括国外)居然几乎没有相关的资料如何输出detectMultiScale()的置信率或者说是人脸得分 所以写一篇小小的总结供有相关需求的人参考. 转载需注明:http://www.cnblogs.com/sciencefans/ 看了下人脸识别函数的opencv的源码 \sources\modules\objdetect\src\cascadedetect.cp…
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…
我这里用的是已经训练好的haar级联分类器. 眼睛检测 haarcascade_eye_tree_eyeglasses.xml 人脸检测 haarcascade_frontalface_alt2.xml检测思路:先把图片转为灰度,接着将图片直方均匀化,在上面处理后的图片矩阵中检测脸的区域,然后把脸这一块圈出来去检测眼睛.检测函数代码如下: #include <opencv/cv.h> #include <opencv/highgui.h> #include <opencv2/…
在网上找到了一个博客,里面有大量内容适合初学者接触和了解人脸检测的博文,正好符合我目前的学习方面,故将链接放上来,后续将分类原博客的博文并加上学习笔记. 传送门: http://blog.sina.com.cn/s/articlelist_1602567857_3_1.html Adaboost算法原理 总的来说这是个算法,也可以说成是一个方法,有具体的流程而且分为多个版本,这个流程将会在完整学习后把最优的版本作为笔记放上来.引用来之其他博客的一句话:“Adaboost 算法是一种用来分类的方法…
前一篇的代码在执行时,java.exe占用内存会快速上涨: 在4G内存电脑上,单个连接,会持续上涨到2G多,然后减到1G多,如此循环. 经过一些删减定位,可以确定问题由public byte[] process(byte data[])函数导致. 进一步分析,至少IplImage的使用是一个问题: IplImage originalImage = cvDecodeImage(opencv_core.cvMat(1, data.length, CV_8UC1, new BytePointer(da…
视频流抓取人脸和眼睛 #include<opencv2/opencv.hpp> #include<iostream> using namespace cv; using namespace std; CascadeClassifier face_cascader; //分类器 CascadeClassifier eye_cascader; String facefile = "D:/Appinstall/opencv-3.4.4_vc15/etc/haarcascades…
简介   OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux.Windows.Android和Mac OS操作系统上.它轻量级而且高效--由一系列 C 函数和少量 C++ 类构成,同时提供了Python.Ruby.MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法.  OpenCV的官方网址为:https://opencv.org/, 其Github网址为:https://github.com/opencv .  本文将会介绍OpenCV在…
1. 引言 在某些场景下,我们不仅需要进行实时人脸检测追踪,还要进行再加工:这里进行摄像头实时人脸检测,并对于实时检测的人脸进行初步提取: 单个/多个人脸检测,并依次在摄像头窗口,实时平铺显示检测到的人脸: 图 1 动态实时检测效果图 检测到的人脸矩形图像,会依次 平铺显示 在摄像头的左上方: 当多个人脸时候,也能够依次铺开显示: 左上角窗口的大小会根据捕获到的人脸大小实时变化: 图 2 单个/多个人脸情况下摄像头识别显示结果 2. 代码实现 主要分为三个部分: 摄像头调用,利用 OpenCv…
文章目录: OpenCV安装 安装numpy 安装opencv OpenCV使用 OpenCV测试 效果图: 注意: 图片人脸检测 程序要求: 技术实现思路 注意 本文使用的环境是:Windows+Python3.x+Anaconda 安装Python以及Anaconda的步骤本文不予以讲解了,下面主要讲的是OpenCV的安装以及使用. OpenCV安装 安装numpy 如果没有numpy的话要先下载numpy,一般安装完Anaconda后就会自带很多库,这也是我推荐使用Anaconda的原因.…
这是篇是利用 OpenCV 进行人脸识别的技术讲解.阅读本文之前,这是注意事项: 建议先读一遍本文再跑代码——你需要理解这些代码是干什么的.成功跑一遍不是目的,能够举一反三.在新任务上找出 bug 才是. 请确保用的是 OpenCV v2 你需要一个网络摄像头 OpenCV OpenCV 是最流行的计算机视觉库,原本用 C 和 C++ 开发,现在也支持 Python. 它使用机器学习算法在图像中搜索人的面部.对于人脸这么复杂的东西,并没有一个简单的检测能对是否存在人脸下结论,而需要成千上万的特征…