学习OpenCV:一

1.openCV是一个开源的计算机视觉库,是英特尔公司资助的两大图像处理利器之一。
为图形处理、模式处理、三维重建、物体跟踪、机器学习和线性代数提供了各种各样的算法。
2. open source computer vision library
3.http://www.opencv.org.cn openCV中文网站  ,于1999年建立,跨平台:linux,windows,mac os,轻量级且高效,由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。最新版本是2.3.1。
4.opencv恰恰为这2者的结合提供了一个得心应手的平台工具或者应用平台(研究人员(研究)、工程人员(做实操))
5.桃李不言,下自成蹊。阳春白雪。嘤其鸣矣,求其友声。工欲善其事必先利其器。威力、速度。开源,免费。
6.代码:http://www.oreilly.com/catalog/9780596516130,opencv下载:http://sourceforge.net/projects/opencvlibrary  读者可以跳过算法和数学的描述。
7.先阅读 1- 3 章,然后根据自己需要阅读其他章节。

Subversive Site
http://download.eclipse.org/technology/subversive/0.7/update-site/
Update Site
http://community.polarion.com/projects/subversive/download/eclipse/2.0/indigo-sr1-site/
Update Site
http://community.polarion.com/projects/subversive/download/eclipse/2.0/update-site/
第一章:
1.openCV 有500多个函数。 32页
2。在计算机视觉中,计算机接收到的是来自摄像机或者磁盘文件的一个数据值矩阵。
3。openCV对IPP不存在任何依赖,但如果安装了IPP,那么OpenCV将会通过自动载入IPP动态连接库来获取IPP的优势,来提升速度。
4。linux下的opencv:http://SourceForge.net/projects/opencvlibrary  ,对应的wiki在http://opencv.willowgarage.com
:opencv-1.0.0.tar.gz;    ,下载之后可以安装了,在INSTALL文件中有详细的描述。40页。
5。html帮助文档介绍:43。  cv中有  摄像机标定 。wiki:用eclipse集成开发环境编译opencv的帮助。
6,opencv主体分为5个模块,其中4个模块:cv:图像处理和视觉算法 ML统计分类器  highgui图像和视频输入函数   cxcoree包含一些基本数据结构和相关的函数。
 模块cvaux,存放一些即将被 淘汰的算法和函数,同时还有一些实验性的算法和函数
7。作练习:47页。
第二章:opencv入门:50页。
1。cvLoadImage()能够识别大部分的图片格式并且加载到内存中。返回一个指针,指向该图片的内存数据结构地址IplImage。
**OpenCV使用IplImage结构体处理诸如单通道,多通道,整形 ,浮点型等所有类型的图像文件。
2。cvNamedWindow()函数用于创建一个窗口,将被显示的图像包含于该窗口中。第一个参数指定了该窗口的标题,我们将通过该参数值引用这个窗口。第二个参数指定窗口大小模式。
3。cvShowImage("Example1",img); 使img图片在example1为标题的窗口中显示哦。
4。cvWaitKey(0); 函数的功能是使程序暂停,直到用户触发了一个按键操作。如果参数是n整数,那么等待n毫秒继续执行。
5。cvReleaseImage(img);释放图片所暂用的内存。
6。cvDestroyWindow("Example1");释放窗口资源。52页
二:播放avi视频。
1。CvCapture* capture = cvCreateFileCapture(argv[1]);通过参数设置确定要读入的 avi文件。返回一个指向CvCapture结构的指针。(初始化这个指针(存着这个avi文件的东东))
2。frame=cvQueryFrame(capture);用来将下一侦视频文件载入内存(实际是填充或更新CvCapture结构中)返回一个对应当前侦的指针。
  与cvLoadImage不同的是,cvLoadImage为图像分配内存空间,而cvQueryFrame使用已经在cvCapture结构中分配好的内存。
这样的话,就没有必要通过cvReleaseImage()对这个返回的图像指针进行释放,当cvCapture结构体被释放后,每一侦图像对应的内存空间即会被释放。
3。c=cvWaitKey(33);当前每一真显示后,我们会等待33ms.
4.cvReleaseCapture(&capture);释放cvcapture结构开辟的内存空间,这同时也会关闭所有打开的avi文件相关的文件据柄。
****添加了滚动条的例子(55)****
**一个完整的程序 用来实现读入一个彩色视频文件并以灰度格式输出这个视频文件。
第三章:初探OpenCV :66页
1.opencv的基本类型。
 最简单的:CvPoint:x,y => CvPoint2D32f  CvPoint3d32f:x,y,z
          CvSize:width height => CvSize2D32f (浮点)
   CvRect:x,y,width,height
   CvScalar类型,是一个指向4个双精度浮点数数组的指针。:特殊:有3个构造函数:67页。
这些数据类型都是以他们的名称来定义的构造函数,例如cvSize();只是首字母不大写。
2。图形和矩阵类型
 IplImage数据类型:是我们用来为图像进行编码的基本结构。IplImage由CvMat派生,而CvMat由CvArr派生.所以,我们可以把CvMat* IplImage*传递给CvArr*.
*Opencv提供了大量实用的图像操作符,包括缩放图像,单通道提取,找出特定通道最大最小值,2个图像求和,对图像进行
操作。
 CvMat矩阵结构:67页  , 矩阵数据的存取(访问):72页。
矩阵是什么,可以用来干什么
要告知老大,规划自己的任务完成时间及程度。

 IplImage数据结构:
 对ROI和widthStep的补充。83页

数据存储:129页。

第四章:细说HighGUI:3部分:硬件,文件,图形用户界面
一个可移植的图形工具包:我们可以方便的打开窗口、显示图像、读出或者写入图像相关的文件、处理简单的鼠标、光标、和键盘事件。
1。创建窗口 138页
2。载入图像。
3。显示图像。
4。WaitKey()
5.鼠标事件。
6.Sliders(滑动条),Trackbars(滑动条)和Switches:118ye
7.无按钮
8。视频的处理
9。


 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值