zoukankan      html  css  js  c++  java
  • DSP VLIB实验

    声明:引用请注明出处http://blog.csdn.net/lg1259156776/
    引言

      在dsp开发中,为了节省开发时间和难度,TI将一些成熟的算法封装为模块,供开发者使用。如果能充分利用这些算法支持库,对于加快dsp开发进程与提高代码质量、稳定性有非常大的帮助。VLIB是一个经过深入优化的计算机视觉算法库,支持C64x和C64x+处理器内核,提供了如下图所示的功能函数接口。
      这里写图片描述
    下面是在DSP6455上进行的测试实验总结:


    Canny 算子

    好的 检 测 : 算法能够尽可能多地标识出图像中 的实际边缘 。
    好的定位: 标识出的边缘要与实际图像中的实际边缘尽可能接近 。
    最小响应 : 图像中的边缘只能标识一次,并且可能存在的 图像噪声不应标识为边缘 。
    在图像的边缘检测中,抑制噪声与边缘精确定位是无法同时满足的,canny算子致力于在抗噪声和精确定位之间寻求最佳折衷方案。
    利用Canny算子检测图像边缘的步骤如下:

    1. 高斯图像平滑
      这里写图片描述

    2. 计算梯度幅值与方向

      这里写图片描述

    3. 非极大值抑制

    这里写图片描述

    滞后阈值算法(双阈值算法)
    这里写图片描述

    用我的理解总结为:对一副图,先用高斯平滑滤波,然后计算梯度,用非极大值抑制的方法去除假边界,再用两个阈值-高阈值和低阈值分别对非极大值抑制后的图像进行处理,得到两幅结果。高阈值图像是为了尽可能保证边缘的正确无误,并不惜以某些边缘点损失为代价。低阈值图像是为了尽可能弥补高阈值对实际边缘点的丢弃。最后,将高阈值图像的边缘连接成轮廓,当到达轮廓短点时,在低阈值图像该点位置的8邻域内寻找可以连接到轮廓上的边缘。不断地重复这个步骤直到将图像2连接起来为止。一般取高阈值为低阈值的2倍左右。


    Hough直线检测

    Hough变换时图像处理中检测图像中集合图形的基本算法,它可以检测出图像中的直线、椭圆等规则图像,广义Hough变换还可以检测不规则边界。
    直角坐标系中的共线点对应着参数空间的共点线


    形态学腐蚀和膨胀

    先腐蚀后膨胀称为开(open)
    一般来说,开运算能够去除孤立的小点,毛刺和小桥(即连通两块区域的小点),而总的位置和形状不变。这就是开运算的作用。

    先膨胀后腐蚀称为闭(close)
    一般来说,闭运算能够填平小湖(即小孔),弥合小裂缝,而总的位置和形状不变。这就是闭运算的作用


    联通区域标记

    联通区域直观地理解为图像中独立的物体,为这些联通区域分配以不同的标号,就是联通区域标记的目的。此外,这些区域可以借助其内部特征来描述,例如:区域面积和区域重心。
    算法思路:类似于区域生长法,以8邻域联通区域标记为例,对图像扫描,找到一个非背景像素,分配一个未使用的标记,对该点8邻域内的非背景像素分配以同样的标记符,接下来对这些像素的8邻域内的非背景像素作同样的操作,一次次的迭代下去,直到这些点的8邻域再也找不到非背景像素为止。然后继续扫描,找到一个新的未被标记的非背景像素,重复以上操作,直到再也找不到任何未被标记的非背景像素为止。

    常用两次扫描法


    彩色空间

    主要是在视频处理或者颜色跟踪等遇到色彩空间的转换,色彩空间包括HSI、HSV、RGB、CMYK、YUV、Lab等。最常用的是RGB空间,从RGB24到HSI的转换公式:
    这里写图片描述


    积分图像

    积分图像是一种用于快速计算图像窗口的灰度值总和或灰度均值的一种图像中间表示,此外,还可以用于快速计算图像窗口的灰度方差,以及实现图像预处理中的快速灰度分布标准化和目标任务识别中的快速模板匹配。在计算图像特征时是非常重要的中间步骤。在人脸检测中应用较多。
    这里面用的比较多,也比较熟悉,不再赘述。


    图像金字塔

    图像金字塔是一种数据结构,图像金字塔分解可以非常好的实现图像中前景与背景的分割,甚至可以用于包含多个前景的复杂图片。从原始图像中挑选可以代表某个小块区域的点作为节点,使这些节点构成更上一层的图像,并一直迭代下去,图的节点自上而下逐渐减少,形成金字塔形状,与小波逐级分解类似,金字塔是一种由精细到粗糙的策略。主要应用在图像或者目标不同尺度上的应用。
    这个在进行学习光流法的时候总结过,这里也不再多说。


    高斯和梯度金字塔

    高斯金字塔是图像金字塔的一种。它的第0级包含了原始图像,第一级包含了2x2下采样后的图像,第二级包含了进一步2x2下采样后的图像,以此类推。经常被用在检测及追踪应用中,以减少冗余数据。
    用于图像分解与重构的是拉普拉斯金字塔,高斯金字塔分解是拉普拉斯金字塔分解中的一步。
    拉普拉斯塔的分解过程可表示为:低通滤波→下采样(缩小尺寸)→内插(放大尺寸)→带通滤波(图像相减)。
    这里写图片描述

    拉普拉斯塔的重构
    这里写图片描述
    这个在调研光流法的时候也进行过相关的学习,所以,可以再去查看。


    IIR滤波

    IIR必须采用递归结构,极点在单位圆内,否则系统不稳定。IIR滤波器在一系列图像处理操作中有广泛的应用,比如图像平滑,梯度及边缘计算中。
    不再详表!


    角点检测

    Harris角点检测。这个应该更加熟悉才是。对于Lucas Harris光流法好像是用的就是这种角点吧!


    非极大值抑制

    在进行Canny算子的试验中已经用过了。
    一些视频算法的结果是产生一个投票空间,对投票空间中的局部最大值的寻找可以用非极大值抑制来实现。


    光流法

    最流行的Lucas-Kanade算法:LK算法。


    灰度直方图统计

    直方图通常被用来对输入数据的分布情况进行离散测量,通过使用加权直方图,可以确定输入数据中某些量的重要程度。直方图计算很简单,先由指定的计算范围,并将范围划分成若干个相邻单元(bin),接下来统计落入到各个相邻单元里的输入数据的个数。


    L1距离和B距离

    在数学和工程应用中会用到各种各样的距离,L1距离,L2距离,切比雪夫距离,马氏距离等,这些距离用来反映不同事物的差距,如点、面、概率分布等。
    L1距离也成为街区距离,曼哈顿距离或者绝对值距离,L1范数。
    这里写图片描述
    B ha tt a c h a ry y a 距 离, 又 称巴 氏 距 离 或 B 距 离,在统计学中,用于测量两个离散概率分布的相似性,通常形况下,巴氏距离用来分类中测量两类之间的可分离性。
    这里写图片描述


    卡尔曼滤波器

    这个在以前的应用中相当多,所以,具体原理不用分析。对于如何在DSP中进行使用,可以后续具体用到时在按照例程进行修改。


    加权移动平均和加权移动方差

    加权移动平均和加权移动方差的应用范围很广,在数字图像处理中可以应用于运动目标检测等领域。运动目标检测的背景提取过程中,由于光照等因素的影响,需要对背景信息进行及时更新,这就要用到它。为了除去前景物体对背景的影响,对加权移动平均和加权移动方差的更新只发生在背景部分,即前景区域被标记为0的位置。


    静态背景提取

    用来分割静态图像的背景和前景。如果背景静态,那么有任何意义的运动的物体都是前景。


    高斯混合背景模型

    智能监控的中心内容是运动目标检测,关键是背景目标的提取,建模背景的目的是从当前帧提取前景,使背景更接近于当前帧的背景,高斯混合模型是诸多模型中建模效果最好的方法之一。
    高斯混合模型的思路:对每个像素,考察它的均值与方差,如果与某个高斯模型匹配(偏差小于马氏距离阈值),则该点划分到这个模型中去,同时,这个模型的三个参数:均值方差和权值都要更新,如果没有高斯模型与该点匹配,则舍掉这些高斯模型中最不可能的哪一个(出场率最低的那个),并以该点建立新的高斯模型。


    2015-9-23 艺少

  • 相关阅读:
    C语言的数据、常量和变量
    C语言关键字、标识符和注释
    关于C/C++的一些讨论
    C++ 复合类型(上)
    C 函数
    C 字符输入输出和输入确认
    C++数据处理
    C控制语句:分支与跳转
    C++ 预备知识#关于C++
    范型在java中的应用
  • 原文地址:https://www.cnblogs.com/huty/p/8519134.html
Copyright © 2011-2022 走看看