飞夺泸定桥

我心飞扬

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

随笔分类 -  图像处理&机器视觉基础

1

摘要:粒子滤波实现物体跟踪的算法原理: 1)初始化阶段-提取跟踪目标特征该阶段要人工指定跟踪目标,程序计算跟踪目标的特征,比如可以采用目标的颜色特征。具体到Rob Hess的代码,开始时需要人工用鼠标拖动出一个跟踪区域,然后程序自动计算该区域色调(Hue)空间的直方图,即为目标的特征。直方图可以用一个向量来表示,所以目标特征就是一个N*1的向量V。2)搜索阶段-放狗好,我们已经掌握了目标的特征,下面放出很多条狗,去搜索目标对象,这里的狗就是粒子particle。狗有很多种放法。比如,a)均匀的放:即在整个图像平面均匀的撒粒子(uniform distribution);b)在上一帧得到的目标附近按照 阅读全文
posted @ 2011-06-16 01:53 飞夺泸定桥 阅读(4080) 评论(1) 推荐(4) 编辑

摘要:详细总结sift算法的思路和各个部分的细节 阅读全文
posted @ 2011-06-14 20:25 飞夺泸定桥 阅读(121882) 评论(14) 推荐(24) 编辑

摘要:Hessian:主要响应角点和很强的纹理区域Harris:非常准确的角点检测 阅读全文
posted @ 2011-06-12 09:45 飞夺泸定桥 阅读(3994) 评论(1) 推荐(1) 编辑

摘要:rotation invariance,not scale invariance怎么用描述符表达一个特征点? 阅读全文
posted @ 2011-06-12 09:36 飞夺泸定桥 阅读(3150) 评论(4) 推荐(0) 编辑

摘要:CamShift算法研究(基于opencv)2008-06-27 12:31CamShift算法: CamShift算法,即"Continuously Apative Mean-Shift"算法,是一种运动跟踪算法。它主要通过视频图像中运动物体的颜色信息来达到跟踪的目的。 我把这个算法分解成三个部分,便于理解: 1) Back Projection(背景放映)计算 2) Mean Shift(平均转换)算法 3) CamShift算法(注意:上面的翻译纯属个人理解!)1)Back Projection:计算Back Projection的步骤是这样的:1. 计算被跟踪目标的 阅读全文
posted @ 2011-06-10 01:43 飞夺泸定桥 阅读(7736) 评论(0) 推荐(1) 编辑

摘要:meanshift算法思想其实很简单:利用概率密度的梯度爬升来寻找局部最优。它要做的就是输入一个在图像的范围,然后一直迭代(朝着重心迭代)直到满足你的要求为止。但是他是怎么用于做图像跟踪的呢?这是我自从学习meanshift以来,一直的困惑。而且网上也没有合理的解释。经过这几天的思考,和对反向投影的理解使得我对它的原理有了大致的认识。 在opencv中,进行meanshift其实很简单,输入一张图像(imgProb),再输入一个开始迭代的方框(windowIn)和一个迭代条件(criteria),输出的是迭代完成的位置(comp )。 这是函数原型: int cvMeanShift( cons 阅读全文
posted @ 2011-06-10 01:37 飞夺泸定桥 阅读(16315) 评论(0) 推荐(2) 编辑

摘要:Mean shift主要用在图像平滑和图像分割(那个跟踪我现在还不清楚),先介绍一下平滑的原理:输入是一个5维的空间,2维的(x,y)地理坐标,3维的(L,u,v)的颜色空间坐标,当然你原理也可以改写成rgb色彩空间或者是纹理特征空间。先介绍一下核函数,有uniform的,也有高斯的核函数,不管是哪个的,其基本思想如下:简单的平滑算法用一个模板平均一下,对所有的像素,利用周围的像素平均一下就完事了,这个mean shift的是基于概率密度分布来的,而且是一种无参的取样。有参的取样就是假设所有的样本服从一个有参数的概率分布函数,比如说泊松分布,正态分布等等,高中生都知道概率公式里面是有参数的,在 阅读全文
posted @ 2011-06-10 01:31 飞夺泸定桥 阅读(7555) 评论(2) 推荐(1) 编辑

摘要:Ransac是用途很广泛的算法,详细介绍请看http://en.wikipedia.org/wiki/RANSAC。下面简单介绍一下(没兴趣的可以略过不看)。我们分析世界,需要对世界建模,把世界中的现象抽象成模型。每个模型,又存在一些参数,通过调节参数,可以得到不同的实例,进行推演。我们观察现象,得到一堆数据。如何为这堆数据找一个合适的模型,再确定合适的模型参数,这是很重要的问题,是人类理性的基础。数据分两种:有效数据(inliers)和无效数据(outliers)。那些偏差不大的数据是有效数据,偏差大的数据是无效数据。如果有效数据占大多数,无效数据只是很少量时,我们可以通过最小二乘法或类似的 阅读全文
posted @ 2011-06-09 21:52 飞夺泸定桥 阅读(22538) 评论(0) 推荐(7) 编辑

摘要:目标检测:或者在每帧中都进行检测,或者在目标出现时检测。有利用当前帧信息检测的,也有利用连续帧的相关信息检测的。后者最常用的方法是帧间差分。常用的目标检测方法有四类:Point Detector: Moravec's 算子, Harris算子, SIFT算子, Affine Invariant Point DetectorSegmentation: MeanShift, Graph-Cut, Active ContourBackground Modeling: 混合高斯模型, Eigenbackground, Wall flower, 动态纹理背景Supervised Classifi 阅读全文
posted @ 2011-06-09 01:37 飞夺泸定桥 阅读(1359) 评论(0) 推荐(0) 编辑

摘要:图像特征最重要的属性是独特性,能够咋特征空间内方便区分目标。可用于跟踪的特征有颜色、边缘、光流和纹理,或者是其中几种的组合。颜色-最常用的颜色空间是RGB,但它不是均匀分布的;均匀分布的颜色空间是HSV。根据应用选择合适的颜色空间。边缘-边缘通常伴随着剧烈的intensity变化。对比于颜色特征,边缘特征对光照变化不敏感。最流行的边缘检测算法是Canny算子。光流-光流特征是定义区域内每个像素变化的稠密位移向量域。通过计算区域内的光照对比度变化得到。通常应用在基于运动的分割和跟踪上。纹理-纹理是检测物体表面intensity变化的手段,是对光滑程度和规则程度的量化。相对于颜色,它多了一个计算描 阅读全文
posted @ 2011-06-09 01:32 飞夺泸定桥 阅读(785) 评论(0) 推荐(0) 编辑

摘要:这7个不变矩构成一组特征量,Hu.M.K在1962年证明了他们具有旋转,缩放和平移不变性。 实际上,在对图片中物体的识别过程中,只有M1 和M2 不变性保持的比较好,其他的几个不变矩带来的误差比较大,有学者认为只有基于二阶矩的不变矩对二维物体的描述才是真正的具有旋转、缩放和平移不变性(M1 和M2 刚好都是由二阶矩组成的)。不过我没有证明是否是真的事这样的。 由Hu矩组成的特征量对图片进行识别,优点就是速度很快,缺点是识别率比较低,我做过手势识别,对于已经分割好的手势轮廓图,识别率也就30%左右,对于纹理比较丰富的图片,识别率更是不堪入眼,只有10%左右。这一部分原因是由于Hu不变矩只用到低阶 阅读全文
posted @ 2011-06-09 00:30 飞夺泸定桥 阅读(9877) 评论(0) 推荐(0) 编辑

摘要:模板匹配的工作方式 模板匹配的工作方式跟直方图的反向投影基本一样,大致过程是这样的:通过在输入图像上滑动图像块对实际的图像块和输入图像进行匹配。 假设我们有一张100x100的输入图像,有一张10x10的模板图像,查找的过程是这样的: (1)从输入图像的左上角(0,0)开始,切割一块(0,0)至(10,10)的临时图像; (2)用临时图像和模板图像进行对比,对比结果记为c; (3)对比结果c,就是结果图像(0,0)处的像素值; (4)切割输入图像从(0,1)至(10,11)的临时图像,对比,并记录到结果图像; (5)重复(1)~(4)步直到输入图像的右下角。 大家可以看到,直方图反向投影对比的 阅读全文
posted @ 2011-06-07 11:56 飞夺泸定桥 阅读(1023) 评论(0) 推荐(0) 编辑

摘要:1.反向投影的作用是什么? 反向投影用于在输入图像(通常较大)中查找特定图像(通常较小或者仅1个像素,以下将其称为模板图像)最匹配的点或者区域,也就是定位模板图像出现在输入图像的位置。2.反向投影如何查找(工作)? 查找的方式就是不断的在输入图像中切割跟模板图像大小一致的图像块,并用直方图对比的方式与模板图像进行比较。假设我们有一张100x100的输入图像,有一张10x10的模板图像,查找的过程是这样的:(1)从输入图像的左上角(0,0)开始,切割一块(0,0)至(10,10)的临时图像;(2)生成临时图像的直方图;(3)用临时图像的直方图和模板图像的直方图对比,对比结果记为c;(4)直方图对 阅读全文
posted @ 2011-06-07 11:46 飞夺泸定桥 阅读(1180) 评论(1) 推荐(0) 编辑

摘要:直方图均衡化是灰度变换的一个重要应用,它高效且易于实现,广泛应用于图像增强处理中。图像的像素灰度变化是随机的,直方图的图形高低不齐,直方图均衡化就是用一定的算法使直方图大致平和。均衡化处理后的图象只能是近似均匀分布。均衡化图象的动态范围扩大了,但其本质是扩大了量化间隔,而量化级别反而减少了,因此,原来灰度不同的象素经处理后可能变的相同,形成了一片的相同灰度的区域,各区域之间有明显的边界,从而出现了伪轮廓。如果原始图像对比度本来就很高,如果再均衡化则灰度调和,对比度降低。在泛白缓和的图像中,均衡化会合并一些象素灰度,从而增大对比度。均衡化后的图片如果再对其均衡化,则图像不会有任何变化。灰度直方图 阅读全文
posted @ 2011-06-05 23:07 飞夺泸定桥 阅读(21475) 评论(0) 推荐(2) 编辑

摘要:Hough变换用来在图象中查找直线。它的原理很简单:假设有一条与原点距离为s,方向角为θ的一条直线,直线上的每一点都满足方程7.1:s = xcosθ + ysinθ 可以利用这个变换找出图中最长的直线,实现算法如下:1.创建一个二维数组hDistAlpha,其中第一维表示距离s(计算可能出现的最大距离为,用来确定数组第二维的大小),第二维表示方向角θ(书上正好和我说的相反,但看了程序以后我更坚持自己的想法)。2.创建一个二维数组Line,计算每条直线的上下两个端点。3.对图像中的每个黑点,角度的变化范围从00到1780(角度每次增加20 ),按方程(7.1)求出对应的距离s来,相应的数组元素 阅读全文
posted @ 2011-06-05 21:57 飞夺泸定桥 阅读(9449) 评论(1) 推荐(1) 编辑

摘要:1.Canny边缘检测基本原理 (1)图象边缘检测必须满足两个条件:一能有效地抑制噪声;二必须尽量精确确定边缘的位置。 (2)根据对信噪比与定位乘积进行测度,得到最优化逼近算子。这就是Canny边缘检测算子。 (3)类似与Marr(LoG)边缘检测方法,也属于先平滑后求导数的方法。 2.Canny边缘检测算法: step1:用高斯滤波器平滑图象; step2:用一阶偏导的有限差分来计算梯度的幅值和方向; step3:对梯度幅值进行非极大值抑制; step4:用双阈值算法检测和连接边缘。step1:高斯平滑函数 step3:非极大值抑制 仅仅得到全局的梯度并不足以确定边缘,因此为确定边缘,必须保 阅读全文
posted @ 2011-06-05 15:33 飞夺泸定桥 阅读(35159) 评论(3) 推荐(4) 编辑

摘要:1.基本理论 拉普拉斯算子是最简单的各向同性微分算子,具有旋转不变性。一个二维图像函数 的拉普拉斯变换是各向同性的二阶导数,定义为: 为了更适合于数字图像处理,将该方程表示为离散形式: 另外,拉普拉斯算子还可以表示成模板的形式,如图5-9所示。图5-9(a)表示离散拉普拉斯算子的模板,图5-9(b)表示其扩展模板,图5-9(c)则分别表示其他两种拉普拉斯的实现模板。从模板形式容易看出,如果在图像中一个较暗的区域中出现了一个亮点,那么用拉普拉斯运算就会使这个亮点变得更亮。因为图像中的边缘就是那些灰度发生跳变的区域,所以拉普拉斯锐化模板在边缘检测中很有用。一般增强技术对于陡峭的边缘和缓慢变化的边缘 阅读全文
posted @ 2011-06-05 14:48 飞夺泸定桥 阅读(14067) 评论(1) 推荐(0) 编辑

摘要:首先,我们来开一下计算机是如何检测边缘的。以灰度图像为例,它的理论基础是这样的,如果出现一个边缘,那么图像的灰度就会有一定的变化,为了方便假设由黑渐变为白代表一个边界,那么对其灰度分析,在边缘的灰度函数就是一个一次函数y=kx,对其求一阶导数就是其斜率k,就是说边缘的一阶导数是一个常数,而由于非边缘的一阶导数为零,这样通过求一阶导数就能初步判断图像的边缘了。通常是X方向和Y方向的导数,也就是梯度。理论上计算机就是通过这种方式来获得图像的边缘。 但是,具体应用到图像中你会发现这个导数是求不了的,因为没一个准确的函数让你去求导,而且计算机在求解析解要比求数值解麻烦得多,所以就想到了一种替代的方式来 阅读全文
posted @ 2011-06-05 14:26 飞夺泸定桥 阅读(1847) 评论(0) 推荐(0) 编辑

摘要:1. 腐蚀是一种消除边界点,使边界向内部收缩的过程。可以用来消除小且无意义的物体。腐蚀的算法:用3x3的结构元素,扫描图像的每一个像素用结构元素与其覆盖的二值图像做“与”操作如果都为1,结果图像的该像素为1。否则为0。结果:使二值图像减小一圈2. 膨胀是将与物体接触的所有背景点合并到该物体中,使边界向外部扩张的过程。可以用来填补物体中的空洞。膨胀的算法:用3x3的结构元素,扫描图像的每一个像素用结构元素与其覆盖的二值图像做“与”操作如果都为0,结果图像的该像素为0。否则为1结果:使二值图像扩大一圈3. 先腐蚀后膨胀的过程称为开运算。用来消除小物体、在纤细点处分离物体、平滑较大物体的边界的同时并 阅读全文
posted @ 2011-06-05 03:03 飞夺泸定桥 阅读(12960) 评论(0) 推荐(1) 编辑

摘要:高斯模糊即对指定像素和其周围像素进行加权平均来得到最终结果,使用高斯分布作为滤波器。高斯分布即为正太分布,1维和2维正态分布密度函数如下这里设μ=0, ρ=0.u为期望,σ为标准差,μ±σ为函数图像的拐点,σ越大曲线越矮越宽,即采样范围越大。在这两个函数中,x,y表示相对于中心像素(0,0)的偏移量(以像素为单位)这两个函数的结果表示在x或(x,y)处的像素的权重,或者说在模糊后周围像素分别将产生多少的贡献来影响目标像素.一维高斯函数当标准差为1时的一些值:G(0) = 0.3989422804G(1) = G(-1) = 0.2419707245G(2) = G(-2) = 0.0 阅读全文
posted @ 2011-06-05 00:42 飞夺泸定桥 阅读(1399) 评论(1) 推荐(0) 编辑

1