编辑: 烂衣小孩 | 2019-07-06 |
21 2 朱腾 辉,刘学慧,吴恩 华 .基 于像素的光照计算 技术 . 计算机辅助设计与图形学学报.2002(9):86I~8653王玉 华. 杨克俭 , 曾梅兰 .面 向对象技术在三维虚拟场 景建模 中的应用研 究. 武汉 理工大 学学 报(交通科学 与工 程版),2003(1):37~
3 9 维普资讯 http://www.cqvip.com
5 8 交通 与计算机2004年 第 2期 第22卷 ( 总第ll7期 ) Y = mx + b 另 ~方面 , 若 以极 坐标 系刻 画 同一二 维 图像 , 可以写成r=. ~COS0ysin0式中:r为直 线到原点 的距 离;
0为 直线的倾 斜角度(一般 以水平 直线 为基 准).那么,考虑一,\r ,
0 坐标 平 面上 的一 点(r,0),恰恰对应着一个 , Y 直角 坐标平 面上 的 一条 直线 .H o u g h变 换便 是这样一 种从直 角坐标 平 面到极 坐标 平 面的平 面域变 换.这里给 出Hough变 换 的计 算机编程伪代码(类C+ +) : 设置r,0坐标 平面原点O;
定义数组 J ( r ,
0 ) , 记录极坐标 上距离 r 和角度
0 上的交点数 ;
初始化 :J ( r ,
0 )=
0 ;
f o r ( 距离r从(0一( 1个增量))到(图像高+( 1个增量)){ f o r ( 像素位置x从0到 图像 高度值)for(像素位置Y从0到 图像 宽 度值 ) { 如果 ( x , Y ) 点灰度 G ( x , Y ) , 为亮 点(或满足其他 人为 设定 的图像取点的阚值条件 ) . 则 计算该点连接原点 0的 线段 的角 度0,J(r,0)增加l;
{}说明:①为计 算 简便 , 这里 的r不是 直线 到原 点的距 离,而是 直线与过 原点的垂 线 的交 点到原点的距 离;
对车牌 图像 : 原点一般取图像的左边 ( 沿底 端),则r自下 而上 移动,之所以增 加 1个 增量 , 是为了包含 图像边 沿 区域 的像 素.这个增 量 和扫描 的角度 范围 ( 见说明2)有关 ;
一般 , 对于 水平角 度检测 增量h=扫描角 度最 大值 0… 的正 切 *图像宽 ② 在 车牌图像 倾斜 角度检测的实 际运 用中,根据经验 知道倾 斜 角度 的可能范围,我们 稍稍修改上 述算 法,限制 其 中待检 测角 度0在某一范 围内 , 以 减少 不必要 的运 算量,后面的曲线 图均 限 制角 度 检测 范围 为-
2 0 .~
2 0 . . 以后 不再专 门说 明.在Hough变 换后,检测 倾斜角的最 简单的思 路是检查 H o u g h域 中曲线最 频繁的交点 ( 即(r,0)的最 大值 ), 该交 点值 对应了直角 坐标 系 中最 长直线 的长度 .我们 对 一幅简 单 的平行线 图像进 行测 试(已经二值 化).图1(a)是笔者人为制作 的原 图,图1(b)是使用 H o u g h变换求最长直线算法检测倾 斜角度后的矫 正结果,程序检测出最 长直线的角 度为旋转1l., ( c ) 最长直线分析曲线圈图1用基本的Ho u g h变换算法检测 平行线图像的倾斜角度ll..图 l ( c ) 给出了在 变换平面(r,)中 最长的l000条直 线(或线段 的连 线)的角度分 布 .每 个 点代表 一条 直线 , 横坐 标显 示 了该 直线 的长度 , 而纵 坐标 表示其 角度 .显然,在角度 一l l . 处 有一 条长 l
8 8的直线 , 一条 长181的直 线,它们 正是 原图中最 长 的两条 直线 . 下 面给 出寻 找最长直线的角度的算 法 伪码 (即找 ( r , )的最 大值 所对应 的0) : 设置最大值nMa x =
0 ;
设置 倾斜角度 e =
0 ;
f
0 r ( 距离r从(0一( 一个增量))到(图像高+( 一个增量))) f o r ( 角度
0 从范围下限到范围上限){if(J(r,0)>
n Ma x ) { n Ma x=J ( r .
0 );
e= 0:
2 基于Ho u g h变换的角 度检测改进算法我们 看到 , 对于一些 直线 信息明显 的简单 图像.采用 H o u g h变换求 取最长直线确定倾 角是 十 分有 效的.但是 , 在 实际应 用中.图像 信息 比较 复杂,这时候 简单 的通 过 图像 上 的最 长直线判断 整 副图像 的倾 斜角 显然 是不 充分 也不准 确的 . 例 如图