设为首页 加入收藏

TOP

Java使用OpenCV进行人脸识别
2014-11-04 23:45:08 来源: 作者: 【 】 浏览:54
Tags:Java 使用 OpenCV 进行 人脸 识别

  遇到opencv,使用后,列一下。


  (当然据说目前挺火的 绿坝 用的就是这个)


  opencv是个图形函数库,内容丰富。是Intel资助的开源计算机视觉库。


  由一系列 C 函数和少量 C++ 类构成,实现了图像处理和计算机视觉方面的很多通用算法。


  OpenCV 对非商业应用和商业应用都是免费(FREE)的。


  相关网站:


  http://www.opencv.org.cn


  http://sourceforge.net/projects/opencvlibrary/


  http://tech.groups.yahoo.com/group/OpenCV/


  下载下来后,例子直接运行。


  有些情况,比如提供的例子运行出错,需要重新编译。


  windows下,vc6,重编译时有错误,是源程序里有个注释写错了位置,改了可以了,编译有顺序,一般提示...d文件找不到,顺藤摸瓜的找到源文件,编译就可以。


  有个face检测的程序有意思:


  可以检测人脸。


  直接调用人脸检测函数。非常简单


  人脸检测时2002年的论文?后来加入了侧脸检测?


  #include "cv.h"


  #include "highgui.h"


  #include


  #include


  #include


  #include


  #include


  #include


  #include


  #include


  #include


  #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-cascade";


  int nested_cascade_opt_len = (int)strlen(nested_cascade_opt);


  int i;


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Java实现汉字转换为拼音 下一篇JSP自定义标签的编写

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: