上一篇文章中介绍了如何使用OpenCV自带的haar分类器进行人脸识别(点我打开). 这次我试着自己去训练一个haar分类器,前后花了两天,最后总算是训练完了.不过效果并不是特别理想,由于我是在自己的笔记本上进行训练,为减少训练时间我的样本量不是很大,最后也只是勉强看看效果了.网上有关的资料和博客可以说很多了,只要耐心点总是能成功的. 采集样本: 首先要训练,就得有训练集.网上有很多国外高校开源的库可供下载: 1.卡耐基梅隆大学图像数据库(点我打开) 2.MIT人脸数据库(点我打开) 3.ORL…
OpenCV支持的目标检测的方法是利用样本的Haar特征进行的分类器训练,得到的级联boosted分类器(Cascade Classification).OpenCV2之后的C++接口除了Haar特征以外也可以使用LBP特征. 介绍haar分类器理论知识: 1.http://www.cnblogs.com/ello/archive/2012/04/28/2475419.html(讲的很详细): 2.http://blog.csdn.net/zy1034092330/article/details…
一.人脸检测并采集个人图像 //take_photo.cpp #include<opencv2/opencv.hpp> using namespace cv; using namespace std; void take_photo() { VideoCapture cap(); //打开摄像头 if (!cap.isOpened()) return; //加载级联检测器 CascadeClassifier cascade; cascade.load("F:/opencv3.2/Re…
一.人脸识别算法之特征脸方法(Eigenface) 1.原理介绍及数据收集 特征脸方法主要是基于PCA降维实现. 详细介绍和主要思想可以参考 http://blog.csdn.net/u010006643/article/details/46417127 上述博客的人脸数据库打不开了,大家可以去下面这个博客下载ORL人脸数据库 http://blog.csdn.net/xdzzju/article/details/50445160 下载后,ORL人脸数据库有40个人,每人10张照片. 2.流程…
OpenCV支持的目标检測的方法是利用样本的Haar特征进行的分类器训练,得到的级联boosted分类器(Cascade Classification).注意,新版本号的C++接口除了Haar特征以外也能够使用LBP特征. 先介绍一下相关的结构,级联分类器的计算特征值的基础类FeatureEvaluator,功能包含读操作read.复制clone.获得特征类型getFeatureType,分配图片分配窗体的操作setImage.setWindow,计算有序特征calcOrd,计算绝对特征calc…
1.下载及安装 OpenCV是一套开源免费的图形库,主要有C/C++语言编写,官网: http://opencv.org/ .在 http://opencv.org/downloads.html 可以找到个版本和各种平台的程序包.OpenCV的Windows平台安装包是放在SourceForge.net网站. 我下了2.4.4版,大概217M.安装包其实就是一个压缩包,安装过程就是解压到某个文件夹.我是安装到 E:\Soft\opencv 目录,安装后文件夹如下: 我们只需要关注“build”文…
在本章中,我们将学习如何使用OpenCV使用系统相机捕获帧.org.opencv.videoio包的VideoCapture类包含使用相机捕获视频的类和方法.让我们一步一步学习如何捕捉帧 - 第1步:加载OpenCV本机库 在使用OpenCV库编写Java代码时,您需要做的第一步是使用loadLibrary()加载OpenCV的本机库.加载OpenCV本机库,如下所示. // Loading the core library System.loadLibrary(Core.NATIVE_LIBR…
原地址:http://blog.csdn.net/watkinsong/article/details/7631241 目前因为做人脸识别的一个小项目,用到了AdaBoost的人脸识别算法,因为在网上找到的所有的AdaBoost的简介都不是很清楚,让我看看头脑发昏,所以在这里打算花费比较长的时间做一个关于AdaBoost算法的详细总结.希望能对以后用AdaBoost的同学有所帮助.而且给出了关于AdaBoost实现的一些代码.因为会导致篇幅太长,所以这里把文章分开了,还请见谅. 第二部分的地址请…
#include<iostream> #include <opencv2/core/core.hpp> #include <opencv2/highgui/highgui.hpp> using namespace cv; Mat img4 = imread("LinuxLogo.jpg"); 2 // 创建画"窗口 namedWindow("); // 在窗口中显示游戏原画 imshow(", img4); // 等待6…
关于opencv调用摄像头的问题主要是因为摄像头的打开有延时.在显示图像前,要用if语句判断图像是否存在.(否则会报错) 具体的:教程里的源程序,将if条件句里,break去掉,并增加else语句. #include<opencv2/opencv.hpp> #include<cv.h> using namespace cv; using namespace std; //-----------------------------------[main()函数]-----------…
HighGUI组件 图像的载入:imread()函数 Mat imread(const string& filename, int flag = 1)其中flag=1代表读入RGB彩色图像,-1表示读取原始图像,0表示读取灰度图(TODO表格) 图像的显示:imshow()函数(改变窗口大小) imshow时改变窗口大小, ScreenShot from CSDN string winname = "Wind"; namedWindow(winname, 0);//这个0是何意…
#include <opencv2/opencv.hpp> #include <iostream> using namespace cv; using namespace std; int main(int argc, char** argv) { String cascadeFilePath = "F:/CMake_bulid/install/etc/haarcascades/haarcascade_frontalface_alt.xml";//数据路径 Ca…
一.防盗链标签 import javax.servlet.http.HttpServletResponse;import javax.servlet.jsp.JspException;import javax.servlet.jsp.PageContext;import javax.servlet.jsp.tagext.JspFragment;import javax.servlet.jsp.tagext.SimpleTagSupport; public class RefererTag ext…
1.find find [搜索路径] [搜索关键字] 比如查找/test中文件名为t5.tmp的文件: 查找根目录下大于100M的文件 注意,这里的204800单位是块,1块=512字节 在根目录下查找所有者为lenve的用户 find / -user lenve 查找在根目录下24小时内被修改过属性的文件或者文件夹(这里的1表示1天,即24小时) find / -ctime -1 查找大于80M小于100M的文件 find / -size +163840 -a -size -204800 2.…
格式:test 测试条件 字符串测试: 注意空格: test str1 == str2 测试字符串是否相等 test str1 != str2 测试字符串是否不相等 test str1 测试字符串是否不为空 test -n str1 测试字符串是否不为空 test -z str1 测试字符串是否为空 整数测试 test int1 -eq int2 测试整数是否相等 test int1 -ge int2 测试int1是否>=int2 test int1 -gt int2 测试int1是否>int…
在expr中加减乘除的使用,脚本如下: #!/bin/sh #a test about expr v1=`expr 5 + 6` echo "$v1" echo `expr 3 + 5` echo `expr 6 / 2` echo `expr 9 \* 5` echo `expr 9 - 6` 运行效果 版权声明:本文为博主原创文章,未经博主允许不得转载.…
全局变量:定义在函数之外.(不安全)   局部变量;定义在函数之内. 内存的划分:1栈区   2堆区  3静态区(全局区) 4常量区 5代码区 栈区..静态区.常量区.代码区的数据都是由系统分配和释放空间. 堆区的内存必须自己去申请和释放. 1.栈区     栈区的数据以栈的形式存放(先进后出) 局部变量存放在栈区 2.静态区  (全局区) 被static修饰的变量和全局变量存放在静态区 static修饰符的作用: 1.修饰的变存放在静态区 2.修饰的变量只初始化一次 3.由static修饰的变…
摘要:  Objective-C  引入了"实例变量"的概念,但同时, 也经常出现 "成员变量"的声音. 到底什么是实例变量,什么是成员变量,二者的区别是什么呢? 在Objective-C中,定义一个类,需要有两部分: 第一是接口(interface),第二是实现(implementation). 接口对应接口文件,而实现对应了实现文件. 接口文件包含了类的声明,成员变量(member variable)和方法(method). 接口文件通常是.h 实现文件通常是.…
zynq最核心的设计理念就是软件加硬件,即PS+PL.通过软硬件协同设计,结合了FPGA与双arm9内核,对于嵌入式拥有极大的优势. SoC:System on Chip的缩写,称为芯片级系统,也有称片上系统,意指它是一个产品,是一个有专用目标的集成电路,其中包含完整系统并有嵌入软件的全部内容. 整个片上系统主要使用资源:ZYNQ系列FPGA XC7Z020.2片DDR.串口芯片(USB转UART).zedboard板子自带了这些资源,不需要另外添加模块. PL部分(VIVADO): 新建工程,…
环境准备: 首先,需要的肯定是Ubuntu操作系统.可以在自己的电脑上安装物理机,也可以是虚拟机下运行的.我的是在Vmware下运行的Ubuntu14.04 32位操作系统. 由于zedboard上的Linux操作系统跑的是32位的,为了省去麻烦,我没有安装64位的,就不用安装一些32位的兼容包. Ubuntu16.06及以后的版本,操作过程中有可能会遇到这种那种的问题,而Ubuntu14.04更稳定. 移植工作: 1.准备一个读卡器,和一个SD卡(我的是16G,8G或者4G都可以).通过读卡器…
  背景知识 OpenCV 是一个开源的计算机视觉和机器学习库.它包含成千上万优化过的算法,为各种计算机视觉应用提供了一个通用工具包.根据这个项目的关于页面,OpenCV 已被广泛运用在各种项目上,从谷歌街景的图片拼接,到交互艺术展览的技术实现中,都有 OpenCV 的身影. OpenCV 起始于 1999 年 Intel 的一个内部研究项目.从那时起,它的开发就一直很活跃.进化到现在,它已支持如 OpenCL 和 OpenGL 等现代技术,也支持如 iOS 和 Android 等平台. 199…
基于 OpenCV 的人脸识别 一点背景知识 OpenCV 是一个开源的计算机视觉和机器学习库.它包含成千上万优化过的算法,为各种计算机视觉应用提供了一个通用工具包.根据这个项目的关于页面,OpenCV 已被广泛运用在各种项目上,从谷歌街景的图片拼接,到交互艺术展览的技术实现中,都有 OpenCV 的身影. OpenCV 起始于 1999 年 Intel 的一个内部研究项目.从那时起,它的开发就一直很活跃.进化到现在,它已支持如 OpenCL 和 OpenGL 的多种现代技术,也支持如 iOS…
OpenCV基础 OpenCV是一个开源的计算机视觉库.提供了很多图像处理常用的工具 批注:本文所有图片数据都在我的GitHub仓库 读取图片并显示 import numpy as np import cv2 as cv original = cv.imread('../machine_learning_date/forest.jpg') cv.imshow('Original', original) 显示图片某个颜色通道的图像 blue = np.zeros_like(original) bl…
一点背景知识 OpenCV 是一个开源的计算机视觉和机器学习库.它包含成千上万优化过的算法,为各种计算机视觉应用提供了一个通用工具包.根据这个项目的关于页面,OpenCV 已被广泛运用在各种项目上,从谷歌街景的图片拼接,到交互艺术展览的技术实现中,都有 OpenCV 的身影. OpenCV 起始于 1999 年 Intel 的一个内部研究项目.从那时起,它的开发就一直很活跃.进化到现在,它已支持如 OpenCL 和 OpenGL 等现代技术,也支持如 iOS 和 Android 等平台. 199…
图片人脸检测 人脸检测使用到的技术是OpenCV,上一节已经介绍了OpenCV的环境安装,点击查看. 功能展示 识别一种图上的所有人的脸,并且标出人脸的位置,画出人眼以及嘴的位置,展示效果图如下: 多张脸识别效果图: 技术实现思路 图片转换成灰色(降低为一维的灰度,减低计算强度) 图片上画矩形 使用训练分类器查找人脸 具体实现代码 图片转换成灰色 使用OpenCV的cvtColor()转换图片颜色,代码如下: import cv2 filepath = "img/xingye-1.jpg&quo…
首先安装opencv 在安装opencv过程中遇到一些错误(百度解决) 直接贴代码吧,讲师略讲了一下,体会不深,以后有机会深入学习,再详细介绍解释吧 人脸识别训练集应该可以网上下载吧,都是开源的 import cv2 cap=cv2.VideoCapture(0) #打开笔记本摄像头 #创建窗体 cv2.namedWindow('mywindow') #自动生成变量 mywindow #引入人脸识别训练集 face_xml=cv2.CascadeClassifier('haarcascade_f…
OpenCV人脸识别的原理 . 在之前讲到的人脸测试后,提取出人脸来,并且保存下来,以供训练或识别是用,提取人脸的代码如下: void GetImageRect(IplImage* orgImage, CvRect rectInImage, IplImage* imgRect,double scale) { //从图像orgImage中提取一块(rectInImage)子图像imgRect IplImage *result=imgRect; CvRect size; size.x=rectInI…
概述: OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库 为什么有OpenCV? 计算机视觉市场巨大而且持续增长,且这方面没有标准API,如今的计算机视觉软件大概有以下三种: 1.研究代码(慢,不稳定,独立并与其他库不兼容) 2.耗费很高的商业化工具(比如Halcon, MATLAB+Simulink) 3.依赖硬件的一些特别的解决方案(比如视频监控,制造控制系统,医疗设备)这是如今的现状,而标准的API将简化计算机视觉程序和解决方案的开发,OpenCV致力于成为这样的标准API…
基于Java简单的人脸和人眼识别程序 使用这个程序之前必须先安装配置OpenCV详细教程见:https://www.cnblogs.com/prodigal-son/p/12768948.html 注意: D:/1-NCVT/1.2/1.JavaProgramming/OpenCV/opencv/*前面这部分地址是看你存放的位置决定的*/sources/data/haarcascades/haarcascade_frontalface_alt.xml/*后面的地址不变固定在这个地方*/ pack…
很久之前学习过一段时间的OpenCV,当时没有做什么笔记,但是代码都还在,这里把它贴出来做个记录. 代码放在码云上,地址在这里https://gitee.com/solym/OpenCVTest/tree/master/OpenCVTest 效果 代码 我是直接使用OpenCV自带的分类器.如果有数据,可以自己训练得到. opencv之级联分类器训练属于自己的xml文件 opencv3.3版本训练自己的物体分类器 #include <opencv2/core.hpp> #include <…