遇到opencv,使用后,列一下。
(当然据说目前挺火的 绿坝 用的就是这个)
opencv是个图形函数库,内容丰富。是Intel资助的开源计算机视觉库。
由一系列 C 函数和少量 C++ 类构成,实现了图像处理和计算机视觉方面的很多通用算法。
OpenCV 对非商业应用和商业应用都是免费(FREE)的。
相关网站:
http://sourceforge.net/projects/opencvlibrary/
http://tech.groups.yahoo.com/group/OpenCV/
下载下来后,例子直接运行。
有些情况,比如提供的例子运行出错,需要重新编译。
windows下,vc6,重编译时有错误,是源程序里有个注释写错了位置,改了可以了,编译有顺序,一般提示...d文件找不到,顺藤摸瓜的找到源文件,编译就可以。
有个face检测的程序有意思:
可以检测人脸。
直接调用人脸检测函数。非常简单
人脸检测时2002年的论文?后来加入了侧脸检测?
#include "cv.h"
#include "highgui.h"
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <assert.h>
#include <math.h>
#include <float.h>
#include <limits.h>
#include <time.h>
#include <ctype.h>
#ifdef _EiC
#define WIN32
#endif
static CvMemStorage* storage = 0;
static CvHaarClassifierCascade* cascade = 0;
static CvHaarClassifierCascade* nested_cascade = 0;
int use_nested_cascade = 0;
void detect_and_draw( IplImage* image );
const char* cascade_name ="1.xml";
// "../../data/haarcascades/haarcascade_frontalface_alt_tree.xml";
/* "";haarcascade_profileface.xml*/
const char* nested_cascade_name ="2.xml";
// "../../data/haarcascades/haarcascade_eye_tree_eyeglasses.xml";
// "../../data/haarcascades/";
double scale = 1;
int main( int argc, char** argv )
{
CvCapture* capture = 0;
IplImage *frame, *frame_copy = 0;
IplImage *image = 0;
const char* scale_opt = "--scale=";
int scale_opt_len = (int)strlen(scale_opt);
const char* cascade_opt = "--cascade=";
int cascade_opt_len = (int)strlen(cascade_opt);
const char* nested_cascade_opt = "--nested-c