本课题采取的方法是Hough变换检测直线。Hough变换的基本原理在于利用点与线的对偶性,将原始图像空间的给定的直线通过曲线表达形式变为参数空间的一个点。这样就把原始图像中给定直线的检测问题转化为寻找参数空间中的峰值问题。也即把检测整体特性转化为检测局部特性。论文网
http://www.751com.cn/通俗些讲,Hough变换思想为:在原始图像坐标系下的一个点对应了参数坐标系中的一条直线,同样参数坐标系的一条直线对应了原始坐标系下的一个点,然后,原始坐标系下呈现直线的所有点,它们的斜率和截距是相同的,所以它们在参数坐标系下对应于同一个点。这样在将原始坐标系下的各个点投影到参数坐标系下之后,看参数坐标系下有没有聚集点,这样的聚集点就对应了原始坐标系下的直线。首先,初始化一块缓冲区,对应于参数平面,将其所有数据置为0.对于图像上每一前景点,求出参数平面对应的直线,把这直线上的所有点的值都加1。然后,找到参数平面上最大点的位置,这个位置就是原图像上直线的参数。
2.6.5 实验流程图 图2-10 实验流程图
2.6.6 实验中存在的问题
本文主要是研究Hough变换在直线检测中的应用。在实际的图像检测过程中,自然界中的一幅连续图像对其数字化的描述,经过图像的增强、图像的恢复后得到的数字图像,要实现对其特定形状图形的检测,还需要对二进制的图像进行图像分析,其中包括:形态学的处理,图像分割、边缘检测、必要时还需要对其进行图像彩色特征提取。经过这些处理后才可进行图像的检测和配准。而每个处理过程涉及的算法都有一定的使用范围和局限性,如何利用和有效组合每个处理过程中现有的成熟技术,一直是图像检测中的难点。检测识别问题上的一个难点:假设现在有一个识别的问题,一幅图像,其中包含了一些简单的几何形状:矩形、圆等。任务就是编写计算机程序,自动的识别这些形状。还有一些影响识别的因素,是由图像质量以及多义性引起的。比如噪音,在有意义的目标附近存在大量的干扰信息,当对图像中的点进行梯度运算时,这些干扰信息会造成计算上的错误,这些都给识别带来了很大的困难,同时这也是多义性产生的原因。即使是人来识别也会遇到这个问题:重叠覆盖。检测图像多个目标的时候,一个目标覆盖了另一个,使得另一个目标的信息不完整;交叉、目标与目标之间的交叉点是难于处理的。
而Hough变换的基本方法是用图像空间的边缘数据点计算参数空间中的参考点的可能轨迹,并在一个累加器中给计算出参考点的计数,最后选出峰值。该峰值表明在图像空间上有一共线点较多的直线,这样会存在以下几个方面的问题:一是可能将本来不是一条直线上的点当成了一条直线;二是Hough变换是通过累加器中的参考点的计数来确定直线的,只有公共点数量而没有位置关系,故不知道直线的起点和终点 。
3 实验工具介绍
3.1 MATLAB工具介绍
MATLAB 是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。原文请加辣.文^论,文'网QQ32491.14
MATLAB是矩阵实验室(Matrix Laboratory)的简称,和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域 。
MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且mathwork也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。在新的版本中也加入了对C,FORTRAN,C++ ,JAVA的支持。可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用,此外许多的MATLAB爱好者都编写了一些经典的程序,用户可以直接进行下载就可以用。
MATLAB包括拥有数百个内部函数的主包和三十几种工具包。工具包又可以分为功能性工具包和学科工具包。功能工具包用来扩充MATLAB的符号计算,可视化建模仿真,文字处理及实时控制等功能。本次研究主要使用主工具箱以及图像处理工具箱。
上一页 [1] [2] [3] [4] [5] [6] [7] [8] 下一页
基于数字图像的直线检测技术研究 第7页下载如图片无法显示或论文不完整,请联系qq752018766