从摄像头或者avi文件中得到视频流.docVIP

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

从摄像头或者AVI文件中得到视频流,对视频流进行边缘检测 /* 程序名称:laplace.c 功能:从摄像头或者AVI文件中得到视频流,对视频流进行边缘检测,并输出结果。 */ #include cv.h #include highgui.h #include ctype.h #include stdio.h int main( int argc, char** argv ) { ??? IplImage* laplace = 0; ??? IplImage* colorlaplace = 0; ??? IplImage* planes[3] = { 0, 0, 0 }; // 多个图像面 ??? CvCapture* capture = 0; ??? ??? // 下面的语句说明在命令行执行程序时,如果指定AVI文件,那么处理从 // AVI文件读取的视频流,如果不指定输入变量,那么处理从摄像头获取 // 的视频流 if( argc == 1 || (argc == 2 strlen(argv[1]) == 1 isdigit(argv[1][0]))) ??????? capture = cvCaptureFromCAM( argc == 2 ? argv[1][0] - 0 : 0 ); ??? else if( argc == 2 ) ??????? capture = cvCaptureFromAVI( argv[1] ); ??? if( !capture ) ??? { ??????? fprintf(stderr,Could not initialize capturing...\n); ??????? return -1; ??? } ??????? ??? cvNamedWindow( Laplacian, 0 ); // 循环捕捉,直到用户按键跳出循环体 ??? for(;;) ??? { ??????? IplImage* frame = 0; ??????? int i; ??????? frame = cvQueryFrame( capture ); ??????? if( !frame ) ??????????? break; ??????? if( !laplace ) ??????? { ??????????? for( i = 0; i 3; i++ ) ??????????????? planes[i] = cvCreateImage( cvSize(frame-width,frame-height), 8, 1 ); laplace = cvCreateImage( cvSize(frame-width,frame-height), IPL_DEPTH_16S, 1 ); ??????????? colorlaplace = cvCreateImage( cvSize(frame-width,frame-height), 8, 3 ); ??????? } ??????? cvCvtPixToPlane( frame, planes[0], planes[1], planes[2], 0 ); ??????? for( i = 0; i 3; i++ ) ??????? { ??????????? cvLaplace( planes[i], laplace, 3 ); // 3: aperture_size ??????????? cvConvertScaleAbs( laplace, planes[i], 1, 0 ); // planes[] = ABS(laplace) ??????? } ??????? cvCvtPlaneToPix( planes[0], planes[1], planes[2], 0, colorlaplace ); ??????? colorlaplace-origin = frame-origin; ??????? cvShowImage(Laplacian, colorlaplace ); ??????? if( cvWaitKey(10) = 0 ) ??????????? break; ??? } ??? cvReleaseCapture( capture ); ??? cvDestroyWindow(Laplacian); ??? return 0; } 用不同的核进行图像的二维滤波 函数cvSmooth实现各种方法的图形平滑。 一般来说,图像平滑主要是为了消除噪声。图像的常见噪声主要有加性噪声、乘性噪声和量化噪声等。由于图像的能量主要集在低频部分,而噪声所在频段主要在高频段,因此通常都是采用低通滤波的方法消除噪声。 函数cvFil

文档评论(0)

ganqludp + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档