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 */ /* ...
随机推荐
- Java上传大文件夹
javaweb上传文件 上传文件的jsp中的部分 上传文件同样可以使用form表单向后端发请求,也可以使用 ajax向后端发请求 1.通过form表单向后端发送请求 <form id=" ...
- P3939 数颜色 线段树动态开点
P3939 数颜色 线段树动态开点 luogu P3939 水.直接对每种颜色开个权值线段树即可,注意动态开点. #include <cstdio> #include <algori ...
- Cogs 750. 栅格网络(对偶图)
栅格网络流 ★★☆ 输入文件:flowa.in 输出文件:flowa.out 简单对比 时间限制:1 s 内存限制:128 MB [问题描述] Bob 觉得一般图的最大流问题太难了,他不知道如何解决, ...
- spring boot + mybaits 处理枚举类 enum
枚举: //实现层调用 orderMapper.getOrder(OrderStatus.DISCOUNT); sql打印: 实际sql: select * from order where orde ...
- fft,ntt总结
一个套路:把式子推成卷积形式,然后用fft或ntt优化求解过程. fft的扩展性不强,不可以在fft函数里多加骚操作--DeepinC T1:多项式乘法 板子题 T2:快速傅立叶之二 另一个板子,小技 ...
- AWS API Gateway Swagger定义
导出Swagger接口定义文件 在AWS API Gateway界面上,可以导出swagger接口定义文件. 而后利用Node js swagger-ui 依赖,生成swagger接口地址 Cloud ...
- P3975 (后缀自动机sort)
题目链接: https://www.luogu.org/problem/P3975 题意: 求出所有字串的第k大子串 有两种,第一种对于出现在不同位置的相同子串算作一个子串 第二种,对于不同位置的子串 ...
- vue 弹窗式 滑动图片验证码
效果图: 具体代码: test.vue //整个页面是个弹窗 visible 控制弹窗的显示关闭 默认打开 <template> <div class="mask_laye ...
- ML_Review_PCA(Ch4)
Note sth about PCA(Principal Component Analysis) ML6月20日就要考试了,准备日更博客,来记录复习一下这次ML课所学习的一些方法. 博客是在参考老 ...
- html中的lang标记有什么用
html中的lang标记有什么用 一.总结 一句话总结: 为文档或元素设定主语言(即lang) 比如google浏览器有个自动翻译的功能,而自动翻译要看这个文档的语言 1.其它标签中设置lang属性? ...