在遥感图像中,对江河上桥梁目标的识别具有重要意义。由于桥梁的最突出特征在于桥体的平行直线,所以对平行直线的实时检测十分重要。经典的Hough变换是一种常用的检测直线的方法,Hough变换的研究及应用动态:Hough变换于1962年由Paul Hough提出,并在美国作为专利被发表。它所实现的是一种从图像空间到参数空间的映射关系。由于具有一些明显优点和可贵性质,它引起了许多国内外学者和工程技术人员的普遍关注。例如,由于其根据局部度量来计算全面描述参数,因而对于区域边界被噪声干扰或被其他目标遮盖而引起边界发生某些间断的情况,它具有很好的容错性和鲁棒性。多年来,专家们对Hough变换的理论性质和应用方法进行了深入而广泛的研究, 并取得了许多有价值的成果。它具有可对目标进行有效检测与识别、可并行实现、对噪声不敏感等优点,但是由于其自身的设计缺陷,无法完成对平行直线的实时性检测。本文在经典Hough变换的基础上,提出了一种平行直线改进算法,如图1所示。经试验证明,该算法能准确地检测识别出平行直线,且实时性较好。

1 算法原理

1.1 图像二值化处理

将灰度图像转换为黑白的二值化图像是图像数字化处理的重要环节之一。目前常用的算法是采用阈值法对图像进行二值化处理,即通过设定某个T阈值,并以该阈值为门限,把灰度图像转换成二灰度级的黑白图像。在处理过程中,不同的样品图像根据灰度分布峰值的不同,按图像特征的相应要求,可以选择不同的二值化转换阈值T。对于256级的灰度图像,将图像上位于n处的灰度值记为Tn(0≤Tn≤255),则设定二值化阈值为Tn。则:

由式(1)即得到以二值化数据Tn标定的二值化图像fn,从而完成了图像的二值化处理。

1.2 边缘检测

Hough变换的实质是将图像空间内具有一定关系的像元进行聚类,寻找能把这些像元用某一解析形式联系起来的参数空间累积对应点。在参数空间不超过二维的情况下, 这种变换有着理想的效果。但是,一旦参数空间增大,计算量便会急剧上升,同时耗费巨大的存储空间,耗时也随之猛增。就此,多年来国内外众多学者针对具体情况对常规Hough变换进行了多方面的探索,并提出了许多有价值的改进方法。经典Hough变换使用Canny算子进行边缘检测。虽然Canny算子能较好地检测出图像中的各个边缘信息,但是在处理之后的图像中,显示了许多无用的边缘信息,从而导致处理时间过长,失去了实时性意义。Canny 边缘检测算子是John F. Canny于 1986 年开发出来的一个多级边缘检测算法本文算法在对图像二值化处理的基础上,采用Sobel算子检测图像。

其边缘检测的实现过程是:使用图2(a)的掩模对图像fn进行滤波,再使用图2(b)掩模对fn滤波,然后计算每个滤波后的图像中的像素值的平方,并将两幅图像的结果相加,最后计算相加结果的平方根。

Hough变换先将(ρ,θ量化,并相应设置一个二维累加器矩阵。累加器中的每个元素描述了(ρ,θ)平面上的一个离散点。将图像中的每一个特征点代入θ的各个量化值,计算出对应的ρ,计算所得值(经量化)落在某个小格内,即对参数空间累加器进行加1,使得图像空间中直线的提取问题转化为累加器计数求极大值问题。

1.4 改进的平行线检测方法

无论是经典的Hough变换,还是改进的Hough变换,都要经过变换空间来检测。对于直线而言,只要这一组直线是平行线,都有一个显着的特征:即两条直线的斜率是相等的,基于这一特征,设计了以下的算法:

(1)为了得到效果更好的边缘图像,首先要对图像进行预处理,得到二值化图像。

(2)再根据二值化图像,设定合适的阈值T,对其进行边缘检测。

(3)运用Hough变换,将笛卡尔坐标空间转换成极坐标空间(ρ,θ),找出若干峰值点,检测出图像中的直线。

(4)由于在采集时图像会受到光照、大气紊流等自然因素的影响,当一幅遥感图像中的所有直线被检测出来后,一条直线会被分割成若干个小段。为了复原这种直线,可以设定阈值T2,计算同一直线上相邻两条直线段的距离,如果这个值小于阈值T2,将两道路段进行连接,否则不作处理。

(5)检测出各个直线段的起止点。

(6)在复原所有的直线段后,根据桥梁的特点,设定大阈值T3,用来检测出较长的直线段(即桥体的其中一边);并利用直线段端点坐标值,计算所有有用直线段的斜率K。即:

(7)当其中一条直线段的斜率与已经检测出来的直线段(桥体其中一边)的斜率之间的误差≤0.1%时,即检测出了桥体的另一边,从而完成了实时检测和识别桥梁。

2 实验

本文选用某河流上的某桥梁作为实验对象。两种算法在相同条件下运行,硬件环境:CPU为Pentium○R4,主频为3.2 GHz,内存为1 GB;软件环境为Matlab 7.1版本,操作系统为中文Windows XP,扫描图像像素为449×617。图5(a)为运用经典Hough变换,在极坐标空间下的峰值点检测效果图,图5(b)为使用本文改进算法下的峰值点检测效果图。图6(a)为经典Hough变换算法下的检测结果,图6(b)为本文改进算法检测的结果,图6的阈值T2为35像素,大阈值T3为300像素。

从多次的实验结果可知,经典Hough变换所检测的结果正确率不高,且使用时间较长,不能完成实时检测和识别,也不能确定所检测出的直线是否为平行线。利用本文算法所检测出的直线,经过斜率计算,两直线的斜率差小于0.1%,可以视为斜率相等,故能判定这两条直线为平行线,而且正确率与所用时间都优于经典Hough变换,如表1所示。

本文基于斜率判断的Hough变换算法不但在时间上要比经典的Hough变换快,而且正确率要比经典Hough变换高,对于一般实时性目标的检测和识别均能取得较高的精度控制。但本文的算法在计算和存储空间上有很大的可压缩性,所以还有很多方面需要改进,尤其是对3个阈值的选取上,对算法的效率及最后的结果都有重要的影响。

matlab hough变换检测平行直线,浅谈Hough变换的平行直线检测改进方案相关推荐

  1. 算力限制场景下的目标检测实战浅谈

    作者:张钊宁 本文为极市原创,转载请注明作者和出处. 原文:算力限制场景下的目标检测实战浅谈 本篇文章为张博19年1月18日在极市直播分享的文字详细整理. 算力限制场景主要是指在嵌入式设备,也就是算力 ...

  2. matlab中怎么归一化频率,浅谈频率归一化问题

    浅谈频率归一化问题 一.问题来源 在用matlab处理声音信号时,读入的声音存入一个矩阵中.这些离散的数据可以很好的用信号与系统的工具处理.但是,在涉及到实际的问题时,总会有类似这样的要求:设计一个4 ...

  3. 异常检测之浅谈入侵检测

    打开微信扫一扫,关注微信公众号[数据与算法联盟] 转载请注明出处:http://blog.csdn.net/gamer_gyt 博主微博:http://weibo.com/234654758 Gith ...

  4. 浅谈实验室LIMS系统在检测实验室中的应用

    实验室LIMS系统主要是随着现代化科学技术的不断发展与完善衍生而来,其主要由计算机硬件以及应用软件两个方面构成,并且实现实验室数据的采集.收集.管理以及处理等都通过电子技术实现. 1. 检测流程 1. ...

  5. 浅谈大型互联网企业入侵检测及防护策略

    前言 如何知道自己所在的企业是否被入侵了?是没人来"黑",还是因自身感知能力不足,暂时还无法发现?其实,入侵检测是每一个大型互联网企业都要面对的严峻挑战.价值越高的公司,面临入侵的 ...

  6. 【游戏逆向】浅谈某平台调试软件检测分析

    在调试这个平台的CS过程中,我们用CE对任意一个地址下断点会导致游戏的闪退. 首先我们第一时间想到的是游戏对有关下断的API进行了HOOK,于是用PChunte工具查看后发现有110个钩子 在其中我们 ...

  7. 整车智能-浅谈“车内生命体征检测方案”

    车内生命体征检测 前言 出于对生命的尊重,减少人员/宠物在车内由于热射病/缺氧引起的事故,车内生命检测技术被越来越多的企业所重视. 整车制造商企业,依托智能感知.车内算力等软硬从而实现了生命体征监测方 ...

  8. 前端小白浅谈seo优化以及web性能优化方案

    写在前面 这是好久之前的工作了,之前还没用vue spa 做项目的时候,都是用的原生js写项目,纯html,css,js写项目,真的是每个页面引用css,js各种文件写到头痛, 那个时候做一个大型网站 ...

  9. php同时抢购 代码,浅谈PHP实现大流量下抢购方案

    要求要有小时分钟秒的实时倒计时的显示,用户端修改日期时间不会影响到倒计时的正常显示(也就是以服务器时间为准). 其实这和很多的考试等系统的时间限制功能同样的要求. 总不能用ajax每秒都获取服务器时间 ...

  10. 浅谈网址导航网站的成功推广方案大揭秘

    名人名言:--我们最好是把自己的生命看成是前人生命的延续,是现在共同生命中的一部分,同时也是后人生命的开端.--佚名 自从04年百度5000万收购hao123以来,网址导航站开始受到站长们的广泛关注, ...

最新文章

  1. 我也说说Emacs吧(6) - Lisp速成
  2. mysql分页关键词_数据库分页关键字
  3. Spring Boot 的配置文件
  4. 存储引擎——概述|| 各种存储引擎的特性(InnoDB||MyISAM||MEMORY||MERGE) ||存储引擎的选择
  5. 带你遍历用户生命价值与流失挽救(上) : 流量下的价值套路
  6. mysql死锁影响_MySQL死锁系列-常见加锁场景分析
  7. 批处理定时mysql备份数据库_定时备份mysql数据库的批处理
  8. 不能用蛮力法解决的问题_溆浦事蒙汉:脱贫攻坚绝不能心浮气躁骄傲自满疲倦厌战...
  9. JN_0005:PS改变图片指定内容颜色
  10. 心语收集11:我们可以经得起心脏的千疮百孔,可以接受感情的支离破碎,却不愿喝下忘情水,忘记那曾经爱过的人。...
  11. c语言中输出值作用,printf在c语言中什么意思
  12. 【数据结构】天勤 例2-3 (单链表归并操作)二、递减
  13. DJL 教程 1.1 什么是AI人工智能
  14. 《坚持梦想-马云给创业者的22堂人生哲学课》— 综合素质提升书籍
  15. 13. 设计模式之反转原则:如何减少代码间的相互影响?
  16. 多股电线与单股电线怎么选
  17. 微服务的战争:按什么维度拆分服务
  18. RMAN CROSSCHECK命令 说明
  19. 小米手机第一次使用SSR提示“创建一个XXX链接”,无法点击确定
  20. ANN原来如此简单!——用Excel实现的MNIST手写数字识别(之三)

热门文章

  1. 酒店服务机器人或被用于长期偷窥旅客
  2. python google地图_基于Python的离线Google地图操作实现.PDF
  3. (强烈推荐)无线网络密码破解方法
  4. dedecms采集织梦免写规则登陆模块软件
  5. 路由守卫 Maximum call stack size exceeded
  6. Python 数据分析与挖掘概述
  7. BLUE引擎检查放入装备的名称全名脚本
  8. jad反编译成java,反编译工具jad的使用(将*.class文件变成*.java文件,附带jad.zip包)...
  9. apache commons-beanutils中BeanUtils和PropertyUtils区别
  10. 推荐——《梦想金山》