如上所述,常规Hough变换虽然具有非常多的优点和用途,但其也有不容忽视的缺点,如果不想办法处理这些缺点,会对Hough变换的发展有所限制。比如因为Hough变换运算需要的时间较长,所以检测得到结果的时间会比较慢。又因为运算数量比较大,所以得出的结果有可能不准确,而如果不准确的话就会产生大量的数据垃圾。
比如说要检测一个圆形状的东西,普通Hough变换有下面三个比较不好的点:
1、检测圆形状比检测直线多出了一个参数,即从斜率和截距变成了圆心坐标和半径,因此进行Hough变换的运算量大增,增加了运行时间和内存;
2、因为运算比较复杂,所以需要占用的内存空间和运算时间量很大;
3、在现实中的图像容易受到干扰,信噪比容易变低,会使Hough变换的检测质量下降,容易“虚峰”和“漏检”的问题。
1。4应对Hough变换研究局限性问题的思路
因为Hough 变换拥有其非常好的抗干扰性和鲁棒性,所以它被各个方面广泛地应用。但是Hough 变换拥有非常大的缺点:那就是在运算的时候需要巨大的运算数据空间和存储占用内存。而这些也就影响了 Hough 变换的普及与应用。这些年来,广大学者和研究者们想方设法的想要降低 Hough 变换运的算量和减少存储内存,为此想出来了很多办法。随着科学技术在电子方面的进步与发展,现场可编程逻辑门阵列(Field Programmable Gate Arrays,FPGA)技术在设计实践中,因为它设计灵活,可以进行大规模的数据运算,所以为改良Hough变换技术提供了一条全新的思路。
1。5本文的主要内容
计算机仿真技术是使用电子计算机对研究对象的数学算法模型进行计算和分析的的一种技术。其中MATLAB 是具备计算机仿真技术的一款功能强大的数学分析软件,它被广泛地应用在科学计算和工程计算等领域,能够完成复杂的数字信号处理系统的建模、参数估计、性能分析等任务。而Simulink 是 MATLAB所有功能中一个重要的功能模块,主要用在图形化的建模仿真方面。DSP Builder 是安装在Simulink 中的一个工具箱集合模块,它可以使FPGA 来设计DSP系统的过程完全可以在 Simulink 的图形化的界面中来完成,即只需从DSP Builder 模块集中调用那些DSP Builder模块就可以了。这样就可以使一个系统算法的复杂的仿真设计变得直观易明,简单易用。将Simulink用于 DSP 系统的仿真研究已经成为研究者们的研究关注点。本文也是以Simulink为基础,使用DSP Builder 工具箱中的特殊模块,构建Hough变换的仿真模型结构图,然后进行仿真验证,就可以下载进FPGA中测试运行。如流程图1所示:
1。6本章小结
本章讲述了一些Hough变换在世界上的应用与发展现状,分析了Hough变换发展的一些局限性,提出了一个新的思路来研究和实现Hough变换。
第2章Hough变换在Matlab中的仿真与实现
2。1Matlab概述
MATLAB 是美国MathWorks公司研究开发的一款数学处理工具,它的主要用途是算法的分析与设计、数据的设计与研究以及一些数值的计算,它的主体是MATLAB,但是Simulink也占据了MATLAB的很大一部分内容。MATLAB是matrix & laboratory两个词语的组合,可以翻译为矩阵工厂,也可以翻译为矩阵实验室。从名字就可以看出MATLAB主要是处理矩阵,并且它还能处理科学的数学计算、算法模型仿真的可视化以及系统的程序设计。MATLAB把一个简单易明了的图形界面当做操作窗口,把数值计算、矩阵分析、系统的建模和仿真等功能强大的计算整合在了一起,为科学研究、系统设计和高难度的数值计算提供了一个全新的解决办法,并且与非交互式程序设计(如JAVA、C++语言设计)相比,拥有无与伦比的优势,代表了现如今国际上水平最先进的数学计算软件。 MATLAB是世界三大数学计算软件之一,另外两个是Mathematica软件以及Maple软件。MATLAB在无数种处理数学算法类的工具中在数值计算方面极为领先。MATLAB是以与数学计算、工程设计等过程中使用的表达式相类似的矩阵指令表达式为基础的,所以在解决一些问题方面,MATLAB要比JAVA,C++等语言简单得多,而且MATLAB还在不断地发展进化,它吸取了一些其他数学类软件的优势特点,正在逐渐成长为一款最顶尖的数学计算处理工具。而且还不断的把C++,JAVA等编程语言加入到新版本中,使它变得更强大。 FPGA的Hough变换的设计与实现(3):http://www.youerw.com/zidonghua/lunwen_91781.html