欢迎来到天天文库
浏览记录
ID:24782712
大小:1.91 MB
页数:86页
时间:2018-11-15
《OpenCV例程汇总(详细).doc》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、OpenCV例程汇总基于opencv的use摄像头视频采集程序1基于opencv的两个摄像头数据采集3能激发你用代码做视频的冲动程序6图像反转(就是把黑的变白,白的变黑)11图像格式的转换12从摄像头或者AVI文件中得到视频流,对视频流进行边缘检测13采用Canny算子进行边缘检测15角点检测18图像的旋转加缩放(效果很拽,用地球做就像谷歌地球似的)21Log-Polar极坐标变换22对图像进行形态学操作(图像的开闭,腐蚀和膨胀运算)24用不同的核进行图像的二维滤波27图像域的填充30寻找轮廓实现视频流的运动目标检测(超推荐一下)35采用金字塔方
2、法进行图像分割40图像的亮度变换43单通道图像的直方图46计算和显示彩色图像的二维色调-饱和度图像48图像的直方图均匀化50用Hongh变换检测线段52利用Hough变换检测圆(是圆不是椭圆)57距离变换59椭圆曲线拟合64由点集序列或数组创建凸外形68Delaunay三角形和Voronoi划分的迭代式构造71利用背景建模检测运动物体(推荐)78运动模板检测(摄像头)81显示如何利用Camshift算法进行彩色目标的跟踪86基于opencv的use摄像头视频采集程序准备工作:你得把opencv库装到电脑上,并把各种头文件,源文件,lib库都连到v
3、c上,然后设置一下系统环境变量,这里这方面就不说了,好像我前面的文章有说过,不懂也可百度一下。建立一个基于WIN32控制台的工程CameraUSB,在新建一个c++元文件,写代码:#include"cxcore.h"#include"cvcam.h"#include"windows.h"#include"highgui.h"voidcallback(IplImage*image);intmain(){intncams=cvcamGetCamerasCount();//返回可以访问的摄像头数目HWNDMyWin; //设置系统属性cvcamSe
4、tProperty(0,CVCAM_PROP_ENABLE,CVCAMTRUE);//选择第一个摄像头 //camera cvcamSetProperty(0,CVCAM_PROP_RENDER,CVCAMTRUE);//We'llrenderstream //在本例中 //假设创建一个窗口,并且窗口的ID是在变量MyWin中定义 //MyWin是窗口HWND的类型 MyWin=(HWND)cvGetWindowHandle("CameraUSBwindow"); cvcamSetProperty(0,CVCAM_P
5、ROP_WINDOW,&MyWin); //Selectsawindowfor //videorendering//回调函数将处理每一帧cvcamSetProperty(0,CVCAM_PROP_CALLBACK,callback); cvcamInit(); cvcamStart(); //现在程序开始工作 cvWaitKey(0); cvcamStop(); cvcamExit(); return0;}//在图像中画兰色水平线voidcallback(IplImage*image){ IplImage*
6、image1=image; inti,j; assert(image); for(i=0;iheight;i+=10) { for(j=(image1->widthStep)*i;j<(image1->widthStep)*(i+1); j+=image1->nChannels) { image1->imageData[j] =(char)255; image1->imageData[j+1]=0; im
7、age1->imageData[j+2]=0; } }}嘿嘿,就这么简单就完事了。不懂可留言问基于opencv的两个摄像头数据采集实现功能:同时采集两路USB摄像头数据,并显示,具有图片保存功能(点击左键保存图片,并暂停视频;右键继续视频)。步骤就不说了,很简单,直接放代码了:#include#include#include#include"stdio.h"#includevoidStereoCallback(IplImage*frame1,IplImag
8、e*frame2);voidonMouse1(intEvent,intx,inty,intflags,void*param);voido
此文档下载收益归作者所有