(4)仿真
仿真(也叫“验证”)可以分为两大类:即综合后仿真和功能仿真。前者是我们所设计的电路的逻辑功能进行测试,检查其是否满足设计要求。通常采用的手段是通过波形图来显示输入、输出信号之间的关系。
ISE 13.1一般使用第三方仿真软件进行仿真,常用的仿真工具有ModelSim和测试激励生成器HDL Bencher等。
(5)下载
设计开发的最后一步就是下载。这里所谓“下载”是指将生成的配置文件写入芯片中进行测试的过程。ISE 13.1中所对应的下载工具是iMPACT。
3.角点检测理论基础
3.1 角点的定义及分类
学术界至今没有一个明确的数学表达式对角点进行定义。不同的应用领域,不同的检测方法,对角点特征的不同要求都致使角点检测有许多不同的表达方法,例如:图像边缘上曲率变化显著的点、图像边缘上曲率足够大的点、图像中梯度变化足够大的点以及图像边界方向变化不连续的点等等[1]。针对本文的研究内容,我们采取图像边缘上曲率取极大值的点或图像上亮度变化非常剧烈的点来定义角点。角点较为常见的分类有:L型、Y型、T型、X型、箭头型等[6]。
3.2 角点检测的基本要求
对于一个性能较好的Harris角点检测系统而言,一般要满足一下几个基本准则:
(1).所有真实的角点都能被检测到;
(2).没有伪角点被检测误检测;
(3).角点在图像中能够被精确地定位;
(4).角点检测系统具备较好的鲁棒性;
(5).角点检测具有高效性[7]。
然而,在实际的检测过程中,我们很难同时满足这五条基本准则。很显然,一个算法的定位精度往往与它的复杂程度是成反比的。也就是说:如果一个算法的复杂度越低,其计算速度就会越快,对定位精确性方面的指标要求也会越低。同时,检测出的真实角点的个数与伪角点的个数也通常是成正比的,即真实角点越多,检测出的伪角点也越多[8]。这一般是靠算法中阈值的选择来进行具体的判断,根据实际需求的不同来选择不同的阈值,因此角点响应函数阈值的选取在本系统的设计中显得尤为重要。
3.3 Harris角点检测算子理论基础
众所周知,Harris角点检测法是C.Harris和M.J.Stephens两人在1988年提出的一种基于信号量的特征的提取算法。Harris角点检测是一种组合了角点和边缘信息的提取算子,在一定意义上是Moravec角点检测算法的优良改进[7]。但是,它与Moravec角点检测存在着本质的区别——局部自相关测量结果的估计方式不同,它允许所有方向上的灰度变化(即自相关变化)。我们必须承认,Harris角点检测算法一方面计算量较大,这是它的劣势,但另一方面它在检测效率上具有很明显的优势,准确度也相对非常高,因此Moravec算法很快为之取代而被沿用至今。
本文先简单介绍一下Moravec算法,然后在此基础之上详细介绍Harris角点检测算法。
3.4 Moravec算子简介
Moravec算子的原理简而言之就是:以目标像素点为中心,创建一个目标窗口,沿上下左右4个方向移动该小窗口,并计算小窗口沿这4个方向的灰度变化,以4个变化值中的最小值为该像素点的角点响应函数值,若该值大于人为设定的角点响应函数阀值,则可以认为是角点。
因此,我们可以这样对Moravec算子做一个总结:当我们人为地给定一个阈值后,区域中核心像素点与区域内其它像素点的灰度值变化差值一定大于这个阈值,并且任意通过中心像素点的直线在角点的某领域中灰度的变化都将超过这个给定的阈值。
综上所述,Moravec算子的算法非常简单,但是非常容易产生斜边效应。此外,它对噪声也比较敏感,不具备旋转不变特性[12]。因此,Moravec算子的检测效果通常不会非常理想,只有在实时检测且对检测精度要求并不高的情况下才会选择这种算子。 FPGA视频图像角点检测的硬件实时实现(4):http://www.751com.cn/tongxin/lunwen_13595.html