图像处理之_霍夫(Hough)变换
来源:互联网 发布:书生商友软件 编辑:程序博客网 时间:2024/05/29 09:07
1. 用途
Hough变换是一种在图像中寻找直线,圆及其它简单形状的方法.当我们对图像进行边缘检测之后,可用Hough变换识别图像中的简单形状.该转换也是对图像的一种抽象(由繁到简).下面介绍最基本Hough变换:寻找直线算法.
2. 思路
Hough变换通过从直角坐标系到极坐标系的转换,将直角坐标系中的一条"直线",转换为极坐标系上的一个"点",落在这条"直线"上的像素点越多,这个极坐标中"点"的权越重,最终通过分析各个"点"的权重(局部最大值),获取重要线段.
为区别直角坐标系中的点和极坐标系中的点,下面我们将直角坐标系中的点称为像素点.
3. 具体实现
如图所示,假设我们有一个桃心图形,由多个红色像素点组成(红色为其有意义的像素点,即轮廓值),想提取出其中的直线.
如果将各个像素点连成直线,直线将会有很多条,有些有意义,有些没意义.一般认为像素点足够多的直线更具意义,比如图中的绿色和蓝色的直线.
在直角坐标系中,可以用斜截式y=kx+b来表示一条直线(k是斜率,b是y轴上的截距).
转换到极坐标系P(ρ,θ);ρ称为P点的极径(从原点到直线的垂直距离,上图中的虚线),θ称为P点的极角(极径与x轴的夹角).
直角坐标系中的一条"直线",可转换为极坐标系上的一个"点"(上图中的黑圈),也就是说:把直角坐标系中的多个像素点,对应成极坐标系中的一个点.落在该"直线"上的像素点越多,极坐标系中的该点的权重越大,通过比较权重,取得重要直线.
4. 总结
Hough变换通过映射,将一个形状识别问题,转换成了一个统计问题,在寻找直线的过程中,将落入一条直线上的点映射成了极径和极角(二元),在寻找圆的过程中,将落入圆弧上的点映射成了圆心点坐标x,y与半径r的组合(三元),通过映射简化了数据描述,映射后的数据也可以作为图像的一种抽象特征进行其它运算.
可其扩展到识别更复杂的形状,加入颜色更一步判断,以及利用基本形状之间的关系,层层抽象,组合出更加复杂的功能.
- 图像处理之_霍夫(Hough)变换
- 图像处理之霍夫变换(Hough)
- 图像处理(八):线段检测之Hough变换
- OpenCV图像处理篇之Hough变换
- 图像处理————霍夫(HOUGH)变换
- 图像处理基本算法 Hough变换
- 图像处理中Hough变换笔记
- 图像分割之霍夫变换(Hough)
- 图像处理之_傅立叶变换
- 霍夫(Hough)变换
- 图像处理之Hough应用
- 图像处理-Hough线变换和园变换
- 图像处理之_仿射变换与透视变换
- Hough(霍夫)变换原理
- 图像处理 C语言 hough变换 检测直线
- 图像处理 C语言 hough变换 检测直线
- 数字图像处理—图像分割—哈夫(Hough)变换及哈夫变换原理—检测直线
- 【OpenCV图像处理】二十四、霍夫(Hough)检测
- 三层架构
- 294. Flip Game II
- Go操作XML
- 图像处理之_导数微分
- 自定义View:侧滑菜单动画实现
- 图像处理之_霍夫(Hough)变换
- [leetCode刷题笔记]300. Longest Increasing Subsequence
- VNC安装与配置
- Leetcode 424. Longest Repeating Character Replacement
- C++primer学习笔记-----4.11类型转换
- mybatis整合ss的时候,无法autowire使用mapper的自动注入,找不到bean:NoSuchBeanDefinitionException
- [BZOJ2304][Apio2011]寻路(模拟+spfa)
- 释放Mac OS X硬盘空间
- 七、Linux下SVN服务器搭建(CentOS+Subversion)