您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 能源与动力工程 > 基于霍夫变换的简单图形识别
基于霍夫变换的简单图形识别专业:计算机科学与技术姓名:张丹学号:18063619指导老师:胡勇计算机视觉中经常需要识别或者定位某些几何图形,比如直线,圆等。本软件就是采用VisualC++6.0为开发环境,主要讲述了霍夫变换的基本原理和实现方法,实现基于霍夫变换的图像文件(bmp)文件格式下简单图形的识别,主要是对直线和圆的识别。软件的简单结构图示程序开始打开图形基于霍夫变换的简单图形识别霍夫变换检测直线霍夫变换检测圆识别得到的图形保存图形程序结束霍夫变换霍夫变换的基本思想就是把图像平面上的点对应到参数平面上的曲线,最后通过统计特性来解决问题。具有良好的抗噪声性能和对部分遮盖的不敏感等特性。霍夫变换检测直线霍夫变换检测直线的算法描述初始化内存,用来保存新图像。为变换域初始化一块内存(变换域其实就是一个二维数组如H(ρ,θ))。从下往上,从左往右扫描图像,对二值图像中每个以1表示的点(x,y),让θ取遍θ轴上所有可能的值,并根据算式计算对应的p,再根据ρ和θ的值(设都已经取整)对变换域数组进行累加(H(ρ,θ)=H(ρ,θ)+1)。对数组H(ρ,θ)进行局部峰值检测,找到参数平面上峰值点的位置,这些位置的坐标就是原图像上直线的参数,每个位置对应于原图像上的一条直线。霍夫变换检测圆利用霍夫变换检测半径未知的圆时,参数空间为a-b-r三维,对应圆的圆心和半径。图像空间中过任意一点的圆对应于参数空间中的一个三维锥面,图像空间中同一圆上的点对应与参数空间中的所有三维锥面必然交于一点,这样通过检测这一点可以得到圆的参数,相应的圆也可求得了。霍夫变换检测圆的算法描述初始化内存,用来保存新图像。为变换域初始化一块内存(变换域其实就是一个三维数组如H(a,b,r))。从下往上,从左往右扫描图像,对二值图像中每个以1表示的点(x,y),让a和b取遍x轴和y轴上所有可能的值,并根据算式计算对应的r,再根据r的值(设都已经取整)对变换域数组进行累加(H(a,b,r)=H(a,b,r))+1)。对数组H(a,b,r)进行局部峰值检测,找到参数平面上峰值点的位置,这些位置的坐标就是原图像上圆的参数,每个位置对应于原图像上的一个圆。霍夫变换检测结果原位图图像:直线识别结果:霍夫变换检测结果原位图图像:圆识别结果:谢谢!
本文标题:基于霍夫变换的简单图形识别
链接地址:https://www.777doc.com/doc-2576995 .html