DSP VLIB实验
声明:引用请注明出处http://blog.csdn.net/lg1259156776/
引言
在dsp开发中,为了节省开发时间和难度,TI将一些成熟的算法封装为模块,供开发者使用。如果能充分利用这些算法支持库,对于加快dsp开发进程与提高代码质量、稳定性有非常大的帮助。VLIB是一个经过深入优化的计算机视觉算法库,支持C64x和C64x+处理器内核,提供了如下图所示的功能函数接口。
下面是在DSP6455上进行的测试实验总结:
Canny 算子
好的 检 测 : 算法能够尽可能多地标识出图像中 的实际边缘 。
好的定位: 标识出的边缘要与实际图像中的实际边缘尽可能接近 。
最小响应 : 图像中的边缘只能标识一次,并且可能存在的 图像噪声不应标识为边缘 。
在图像的边缘检测中,抑制噪声与边缘精确定位是无法同时满足的,canny算子致力于在抗噪声和精确定位之间寻求最佳折衷方案。
利用Canny算子检测图像边缘的步骤如下:
高斯图像平滑
计算梯度幅值与方向
非极大值抑制
滞后阈值算法(双阈值算法)
用我的理解总结为:对一副图,先用高斯平滑滤波,然后计算梯度,用非极大值抑制的方法去除假边界,再用两个阈值-高阈值和低阈值分别对非极大值抑制后的图像进行处理,得到两幅结果。高阈值图像是为了尽可能保证边缘的正确无误,并不惜以某些边缘点损失为代价。低阈值图像是为了尽可能弥补高阈值对实际边缘点的丢弃。最后,将高阈值图像的边缘连接成轮廓,当到达轮廓短点时,在低阈值图像该点位置的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 艺少
DSP VLIB实验的更多相关文章
- 【DM642学习笔记二】dsp基础实验:发光二级管的显示 led.c
1,OSDFPGA配置一个专用的8位寄存器控制指示灯亮灭,访问地址为90080017h,由电路图可知低电平点亮. 2,程序运行时,可直接editmemory.即修改90080017h地址的值(可在Ed ...
- FPGA+ARM or FPGA+DSP?
网上有人说.现在的FPGA,ARM功能已经强大到无需DSP协助处理了,未来DSP会不会消声灭迹?是DSP取代FPGA和ARM,还是ARM,FPGA取代DSP呢?担心好不容易学精了DSP,结果DSP变成 ...
- dsp实验一 常见问题教程
1.选择合适阅读材料:卖油翁.将进酒,等. 2.录音设备三选一:某种电脑声卡+线上convert/楼月mp3录音软件+格式工厂(我选的)/Matlab (注:这是目前已知的方法,我只用了第二个) 3. ...
- 嵌入式驱动开发之dsp 算法优化vlib emcv---算法优化
http://www.opencv.org.cn/forum.php?mod=forumdisplay&fid=9
- 【玩转单片机系列002】 如何使用STM32提供的DSP库进行FFT
前些日子,因为需要在STM32F103系列处理器上,对采集的音频信号进行FFT,所以花了一些时间来研究如何高效并精确的在STM32F103系列处理器上实现FFT.在网上找了很多这方面的资料做实验并进行 ...
- 【转】DM8168添加DSP音频编解码算法--集成现有voice或audio codec
本文根据“How to integrate audio/voice in RPE in EZSDK.pdf”整理,建议读者直接下载,参考原文件.原文件下载链接: http://download.csd ...
- 8051、ARM和DSP指令周期的测试与分析
在实时嵌入式控制系统中,指令周期对系统的性能有至关重要的影响.介绍几种最常用的微控制器的工作机制,采用一段循环语句对这几种微控制器的指令周期进行测试,并进行分析比较.分析结论对系统控制器的选择有一定的 ...
- 基于DSP的疲劳驾驶检测系统的研究
原地址:http://www.chinaaet.com/article/index.aspx?id=114534 关键词:疲劳检测DSP亮瞳效应PERCLOS 摘 要: 针对汽车驾驶员疲劳驾驶检测的 ...
- 【iCore4 双核心板_ARM】例程三十八:DSP MATH库测试
实验现象: 核心代码: int main(void) { /* USER CODE BEGIN 1 */ int i,j; int res; ]; ; /* USER CODE END 1 */ /* ...
随机推荐
- 遍历器Iterator--指针对象
一. 什么是遍历器 1. 遍历器对象(Iterator) 遍历器对象本质上是一个指针对象,该对象有一个next方法,调用next方法返回一个 含有value和done属性的对象{value: val/ ...
- MongoDB 系统分析器
1.1 系统分析器作用 可以利用系统分析器(system profiler)来查找耗时过长的操作. 系统分析器可记录特殊集合system.profile中的操作,并提供大量有关耗时长的操作信息,但相应 ...
- java实现大视频上传
javaweb上传文件 上传文件的jsp中的部分 上传文件同样可以使用form表单向后端发请求,也可以使用 ajax向后端发请求 1.通过form表单向后端发送请求 <form id=" ...
- 数据库学习之五--Union, Union All和Intersect
一.定义 Union操作符用于合并两个或多个SELECT语句的结果集: 注:1. Union连接的Select语句之间必须拥有相同数量的列: 2. 列也必须拥有相似的数据类型: 3. 每条 SELEC ...
- P2037 电话号码
题目描述 一串由长长的数字组成的电话号码通常很难记忆.为了方便记忆,有种方法是用单词来方便记忆.例如用“Three Tens”来记忆电话3-10-10-10. 电话号码的标准形式是七位数字,中间用连字 ...
- Readiness probe failed:connection refused
我的K8S集群在启动一个POD的时候说死起不来,然后就报下面的错误 Events: Type Reason Age From Message ---- ------ ---- ---- ------- ...
- centos7haproxy+keepalive
1部署keepalived 1.1下载keepalived源码包,并解压# wget http://www.keepalived.org/software/keepalived-1.4.2.tar.g ...
- imu 返回的数据
Cheader: seq: 423038 stamp: secs: 1562058492 nsecs: 992359716 frame_id: imuorientation: x: 0.0026971 ...
- 关于Linux安装中NAT模式和桥接模式的区别详解
1.一般我们在创建一个Linux虚拟机时候,会面临三个网络配置选择: 桥接模式.nat模式.host-only模式(主机模式,这个模式用得少,就不介绍了) 2.NAT模式: 所谓nat模式,就是虚拟系 ...
- Sentinel 快速入门
Sentinel 简介 什么是 Sentinel? 『Sentinel』是阿里中间件团队开源的,面向分布式服务架构的轻量级高可用流量控制组件,主要以流量为切入点,从流量控制.熔断降级.系统负载保护等多 ...