- 博客(13)
- 资源 (34)
- 收藏
- 关注
原创 OpenCV学习笔记(十六)——CamShift研究
CamShitf算法,即Continuously Apative Mean-Shift算法,基本思想就是对视频图像的多帧进行MeanShift运算,将上一帧结果作为下一帧的初始值,迭代下去。基本步骤为:1.选取关键区域2.计算该区域的颜色概率分布--反向投影图3.用MeanShift算法找到下一帧的特征区域4.标记并重复上述步骤该算法的关键就是可以在目标大小发生改变的时候,可以
2011-10-31 20:57:43 13233 4
原创 OpenCV学习笔记(十五)——摄像机的标定和3D重建calib3D
先简单回顾一下计算机视觉的知识。这里研究生的摄像机模型都是针孔摄像机,摄像机的标定问题是CV领域的一个入门级的问题,初学摄像机标定时会被各种坐标系弄晕,这里再介绍一下,常提到的坐标系有四个:世界坐标系(Ow,以空间一点为原点)、摄像机坐标系(Oc以小孔即光心为原点)、图像物理坐标系(O1以像平面中心为原点)、图像像素坐标系(O以像平面左下角为原点)。这样再看相关资料的时候就不会混了吧,这里再介绍一
2011-10-27 10:24:40 52434 9
原创 OpenCV学习笔记(七)——图像处理之滤波器ImgProc
先介绍几个最基本的核滤波器相关的类2D图像滤波器基础类BaseFilter:dst(x,y) = F(src(x,y), src(x+1,y)... src(x+wdith-1,y), src(y+1,x)... src(x+width-1, y+height-1) ); 相关的调用函数为getLinearFilter、getMorphologyFilter单行核滤波器基础类BaseRow
2011-10-26 14:31:19 21808 3
原创 OpenCV学习笔记(四)——新版本的数据结构core
2.0新版本对数据结构进行了大幅修改:定义了DataType类定义了Point_模板类,取代了之前版本的CvPoint、CvPoint2D32f定义了Point3_模板类,取代了之前版本的CvPoint2D32f定义了Size_模板类,取代了之前版本的CvSize和CvSize2D32f定义了Rect_模板类,取代了之前版本的CvRectRotatedRect模板类,T
2011-10-26 09:09:46 21662 7
原创 OpenCV学习笔记(十一)——谈谈像素的类型和对Templates的限制使用
Templates是c++的一个很强大的特征,可以是数据结构更加安全高效。但也会增加编译时间和代码的长度,当函数被频繁调用的时候便步那么高效,所以在目前的OpenCV版本不推荐过多的使用templates。矩阵元素可以是如下类型中的一种:• 8-bit unsigned integer (uchar)• 8-bit signed integer (schar)• 16-bit unsi
2011-10-25 20:34:34 7829 1
原创 OpenCV学习笔记(二)——新版本模块结构
还是老话题,2.2版本对OpenCV可是进行了大刀阔斧的改革,用c++重新了大部分结构,而不是1.X版本中的c结构。这些模块包括:core——定义了基本数据结构,包括最重要的Mat和一些其他的模块imgproc——该模块包括了线性和非线性的图像滤波,图像的几何变换,颜色空间转换,直方图处理等等video——该模块包括运动估计,背景分离,对象跟踪calib3d——基本的多视角几何算法
2011-10-25 20:00:13 20530 6
原创 OpenCV学习笔记(九)——2维特征Feature2D
基于特征点的图像匹配是图像处理中经常会遇到的问题,手动选取特征点太麻烦了。比较经典常用的特征点自动提取的办法有Harris特征、SIFT特征、SURF特征。先介绍利用SURF特征的特征描述办法,其操作封装在类SurfFeatureDetector中,利用类内的detect函数可以检测出SURF特征的关键点,保存在vector容器中。第二部利用SurfDescriptorExtractor类进行
2011-10-24 20:51:10 46057 35
原创 OpenCV学习笔记(十)——图形交互和媒体接口HighGUI
OpenCV提供一个功能强大的UI接口,可以在MFC、Qt、WinForms、Cocoa等平台下使用,甚至不需要其他的平台。新版本的HighGUI接口包括:创建并控制窗口,该窗口可以显示图片并记录其内容为窗口添加了trackbars控件,可以方便利用鼠标进行控制而不是之前版本的只能利用键盘读写硬盘和内存的图片读取摄像头的视频、读写视频文件先来介绍UI,包括函数createTra
2011-10-24 17:11:55 22155 5
原创 OpenCV学习笔记(五)——2.0以上版本和以下版本的数据兼容
都知道,2.0版本对之前的OpenCV数据结构进行了大幅度的修改。但对之前版本的兼容是一个很重要的事情。这节就主要讨论这个问题首先来看一下2.0版本对之前版本的进行了哪些修改1.采用了新的数据结构Mat作为图像的容器,取代了之前的CvMat和lplImage,这个改动不是太复杂,只需适应一下新东西,而且可以自由转换Mat I;IplImage pI = I;CvMat mI = I
2011-10-24 09:07:26 12543
原创 OpenCV学习笔记(六)——对XML和YAML文件实现I/O操作
1. XML、YAML文件的打开和关闭XML\YAML文件在OpenCV中的数据结构为FileStorage,打开操作例如:string filename = "I.xml";FileStorage fs(filename, FileStorage::WRITE);\\...fs.open(filename, FileStorage::READ);文件关闭操作会在FileSt
2011-10-23 10:22:51 40779 14
原创 OpenCV学习笔记(三)——Mat,图像的新容器
自从版本2.0,OpenCV采用了新的数据结构,用Mat类结构取代了之前用extended C写的cvMat和lplImage,更加好用啦,最大的好处就是更加方便的进行内存管理,对写更大的程序是很好的消息。需要注意的几点:1. Mat的拷贝只是复制了Mat的信息头,数据的指针也指向了被拷贝的数据地址,而没有真正新建一块内存来存放新的矩阵内容。这样带来的一个问题就是对其中一个Mat的数据操作
2011-10-21 20:48:05 38435 12
原创 OpenCV学习笔记(一)——安装配置、第一个程序
决心开始研究OpenCV。闲言少叙,sourceforge网站最近的版本是2011年8月的OpenCV2.3.1,下载安装,我这里使用的开发环境是vs2008,网上搜了一下配置的教程,与之前的几个OpenCV版本的配置过程大体相同:(教程网上很多,知之为知之,不知百度之,我这里粗略再讲一下)1. 配置电脑的环境变量(Path变量)这里我的是D:\Program Files\OpenCV2.3.
2011-10-21 16:16:40 58231 49
原创 编程小技巧(持续更新中)
对于矩阵的结构,肯定要声明行宽和列高,但是变量的名字到底是起Row,Col好还是起Height,Width好呢,这个问题可能仁者见仁智者见智啦,我偶然发现OpenCV处理这个问题的方法有些意思,分享给大家 union { int rows; int height; }; union { int cols
2011-10-15 10:47:42 4116 5
基于OpenCV的二维码检测识别基础demo
2013-01-30
FFmpeg将YUV视频序列编码为视频
2012-06-28
手势检测(基于OpenCV)
2011-11-02
splash程序启动时显示Logo画面
2011-08-22
电脑技术06年巨献资料
2010-06-11
TFT液晶彩图显示法
2009-11-04
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人