基本信息
源码名称:摄像头操作人脸查找
源码大小:6.41M
文件格式:.zip
开发语言:C/C++
更新时间:2019-04-02
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300

本次赞助数额为: 2 元 
   源码介绍

/*  Video Capture using DirectShow                                      */
/*  CameraDS.cpp: CameraDS类的实现                                      */
/*  检测人脸位置,并在特征位置上显示字符串                              */
/*  人脸检测和特征部位描绘用Opencv 实现                      */



/************************************************************************/
/* 检测人脸位置                                                         */
/************************************************************************/
void DetectFace( int came_id )
{
 CCameraDS camera;
 char option = 'N';
 IplImage * frame = NULL;
 CF_Handle hdl = NULL;
 void* window;
 //HMONITOR hMonitor;
 //LPMONITORINFO lpMonitorInfo;

 if( InitDetect( &hdl ) )                   //CF句柄的初始化
 {
  printf("CF组件初始化失败!\n");
  return ;
 }
 //printf( "提示:\n" );
 //printf( "退出请按q。\n" );
 //打开摄像头
 //if( ! camera.OpenCamera( came_id , true) ) //弹出属性选择窗口 可以换成
 if(! camera.OpenCamera(came_id, false, 320,240))
 //不弹出属性选择窗口,用代码制定图像宽和高
 {
  printf( "不能打开摄像头。\n");
  return ;
 }
 cvNamedWindow("人脸检测");
 //CRect rc1;
 //GetClientRect(&rc1);//获取视图的客户区矩形
 //SystemParametersInfo(SPI_GETWORKAREA, 0, (PVOID) &rc1, 0);//得到桌面客户区的大小  
 //GetMonitorInfo(hMonitor, lpMonitorInfo);
 cvMoveWindow("人脸检测",(1280-320-25),5);
 while( true )
 {  
  frame = camera.QueryFrame();           //获取一帧 
  Detect_and_Draw( frame, &hdl );
  window = cvGetWindowHandle("人脸检测");
  if( window == NULL) 
  {
   cvNamedWindow("人脸检测");
   cvMoveWindow("人脸检测",(1280-320-25),5);
  }
  cvShowImage("人脸检测", frame);            //显示
  
  option = cvWaitKey(10);
        if( option == 'q' )
  {
   break;
  }

  window = cvGetWindowHandle("人脸检测");
  if( window == NULL) 
  {
   cvNamedWindow("人脸检测");
   cvMoveWindow("人脸检测",(1280-320-25),5);
  }
 }
 camera.CloseCamera();
 cvDestroyWindow("人脸检测");                    //释放窗口
 FreeDetect( &hdl );        //释放CF句柄
}