opencv高级课件.ppt

  1. 1、本文档共116页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
opencv高级课件.ppt

* * * * * * * * * * * 程序示例4:人脸检测(1) #include cv.h #include highgui.h int main( int argc, char** argv ) { static CvMemStorage* storage = 0; static CvHaarClassifierCascade* cascade = 0; CvCapture* capture = 0; int optlen = strlen(--cascade=); if( argc != 3 || strncmp( argv[1], --cascade=, optlen )) return -1; cascade = (CvHaarClassifierCascade*) cvLoad( argv[1] + optlen ); capture = cvCaptureFromAVI( argv[2] ); if( !cascade || !capture ) return -1; storage = cvCreateMemStorage(0); cvNamedWindow( Video, 1 ); * 程序示例4:人脸检测(2) for(;;) { IplImage* frame = cvQueryFrame( capture ), *img; CvSeq* faces; if( !frame ) break; img = cvCloneImage(frame); img-origin = 0; if( frame-origin ) cvFlip(img,img); cvClearMemStorage( storage ); faces = cvHaarDetectObjects( img, cascade, storage, 1.1, 2, CV_HAAR_DO_CANNY_PRUNING, cvSize(20, 20) ); for( int i = 0; i (faces ? faces-total : 0); i++ ) {//多个人脸情况 CvRect* r = (CvRect*)cvGetSeqElem( faces, i ); cvRectangle( img, cvPoint(r-x,r-y), cvPoint(r-x+r-width,r-y+r-height), CV_RGB(255,0,0), 3 ); } cvShowImage( Video, img ); cvReleaseImage( img ); if( cvWaitKey(10) = 0 ) break; } cvReleaseCapture( capture ); return 0; } * DEMO 功能更完善的人脸检测demo OpenCV的样例facedetect.c * DEMO中人脸检测的尺度问题 * 程序示例5:运动对象检测 运动:视频区别于图像的最重要特征 * 程序示例5:运动对象检测(1) #include stdio.h #include cv.h #include cxcore.h #include highgui.h int main( int argc, char** argv ){ IplImage* pFrame = NULL; //声明IplImage指针 IplImage* pFrImg = NULL; IplImage* pBkImg = NULL; CvMat* pFrameMat = NULL; //声明矩阵指针 CvMat* pFrMat = NULL; CvMat* pBkMat = NULL; CvCapture* pCapture = NULL; int nFrmNum = 0; cvNamedWindow(video, 1); //创建窗口 cvNamedWindow(background,1); cvNamedWindow(foreground,1); cvMoveWindow(video, 30, 0); //使窗口有序排列 cvMoveWindow(back

文档评论(0)

好文精选 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档