自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(11)
  • 收藏
  • 关注

原创 OpenCV Kalman滤波器

一、概述       Kalman 滤波器的基本思想是,若有一组强而合理的假设,给出系统的历时测量值,则可以建立最大化这些早前测量的后验概率的系统状态模型。另外,无需存储很长的早前测量历史,我们也可以最大化后验概率,即重复更新系统状态模型。       Kalman 滤波器需要三个重要的假设:(1)被建模的系统是线性的;(2)影响测量的噪声属于白噪声;(3)噪声本质上是高斯分布的。第一条假

2016-05-27 17:49:11 615

原创 运动模板跟踪

一、概述       运动模板是一种有效的跟踪普遍运动方法,尤其可应用在姿势识别中。运用运动模板需要知道物体的轮廓。而轮廓的获取有一下几种方法:(1)利用一个静止的摄像机,使用帧间差得到物体的运动边缘,这种信息就足够让运动模板发挥作用。(2)利用颜色信息。(3)学习一个背景模型,从此背景中可以将新的前景物体或人以轮廓的形式分割出来。(4)使用主动轮廓技术。例如,创建一个红外光的

2016-05-27 16:53:00 755

原创 OpenCV mean-shift和camshift跟踪

一、mean-shift 算法      mean-shift 算法是一种在一组数据的密布分布中寻找局部极值的稳定的方法。若分布是连续的,处理过程就是比较容易,这种情况下本质上只需要对数据的密度直方图应用爬山算法即可。但是,对于离散的数据集,这个问题在某种程度上是比较麻烦的。 mean-shift 算法的步骤如下:(1)选择搜索窗口。包括窗口的初始位置、窗口的类型、窗口的形状、窗口的大

2016-05-26 17:27:22 1013

原创 OpenCV 光流

一、概述       稠密光流:将图像中的每个像素都与速度关联。该光流可以用Horm-Schunck方法计算。实际上计算稠密光流并不容易。稠密光流的方法需要使用某种插值方法在比较容易跟踪的像素之间进行插值以解决那些运动不明确的像素,从中可以清楚地看到稠密光流相当大的计算量。

2016-05-26 16:13:48 833

原创 基于OpenCV 图像分割

一、概述       从图像中将目标或部分目标分割出来,是我们在进行图像处理的操作,也是有意义的事情。在很多情况下,我们也希望将感兴趣的目标区域分割出来,比如将一个人的脸或手分割出来。具体有下面提到的几种方法。1、背景减除        背景减除是在背景模型建立后,将背景模型和当前的图像进行比较,然后减去这些已知的背景信息,则剩下的目标物大致就是所求的前景目标。背景减除法的缺点是假设所

2016-05-19 11:26:40 4371

原创 OpenCV 轮廓的凸性

一、概括     理解物体形状或轮廓的另外一种有用的方法是计算一个物体的凸包(convex hull)然后计算其凸缺陷(convexity defects)。很多复杂物体的特性能很好的被这种缺陷表现出来。二、相关函数1、发现点集的凸外形CvSeq* cvConvexHull2( const CvArr* input, void* hull_storage=NULL,      

2016-05-10 11:45:56 3309

原创 OpenCV 轮廓矩

一、概述      我们在实际中如何应用这些轮廓呢?比如,有两个轮廓如何进行比较匹配,或者如何比较一个轮廓和一个抽象模板。比较两个轮廓最简洁的方式是比较它们的轮廓矩。矩是通过对轮廓上所有点进行积分运算(或者认为是求和运算)而得到的一个粗略特征。二、矩及Hu矩的结构体typedef struct CvMoments{    double  m00, m10, m01, m20,

2016-05-10 11:27:48 3377

原创 OpenCV 轮廓基本特征

一、概述       我们通过cvFindContours( )函数获取得图像轮廓有何作用呢?一般来说,我们对轮廓常用的操作有识别和处理,另外相关的还有多种对轮廓的处理,如简化或拟合轮廓,匹配轮廓到模板,等等。        我们在轮廓处理中经常需要对轮廓变化一些特征进行概括,比如长度或者一些反映轮廓整体大小的度量。另外轮廓矩也是概括轮廓的特征的重要方法。二、常见特征函数1、多边形

2016-05-10 10:26:31 5787

原创 OpenCV 轮廓

一、概述       一个轮廓一般对应一系列的点,也就是图像中的一条曲线。表示方法可能根据不同情况而有所不同。有多种方法可以表示曲线。在OpenCV中一般用序列来存储轮廓的信息。序列中的每一个元素是曲线中一个点的位置。       从哪里提取轮廓呢?我们一般可以从cvCanny( )函数得到的有边缘像素的图像,或者是从cvThreshold( )及cvAdaptiveThreshold(

2016-05-09 11:51:13 1275

原创 OpenCV 序列CvSeq

一、概述        序列是内存存储器中可以存储的一种对象。序列是某种结构的链表。OpenCV中,序列可以存储多种不同的结构。你可以将序列想象为许多编程语言中都可以存在的容器类或者容器类模板(如C++中的vector)。序列在内存被实现为一个双端对列(deque)。因此序列可以实现快速的随机访问,以及快速删除顶端的元素,但是从中间删除元素则稍慢些。二、结构体CvSeq定义typede

2016-05-09 09:47:55 747

原创 OpenCV 内存管理

一、概述       OpenCV使用内存存储器(memory storage)来统一管理各种动态对象的内存。内存存储器在底层被实现为一个有许多相同大小的内存块组成的双向链表,通过这种结构,OpenCV可以从内存存储器中快速地分配内存或将内存返回给内存存储器。二、相关函数1、创建内存块 CvMemStorage* cvCreateMemStorage( int block_size

2016-05-06 10:26:46 1285

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除