- 1、本文档共116页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* * * * * * * * * * * 程序示例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)