Python问题解决二:使用Radon变换进行线检测

常用的线检测方法有Hough变换和Radon变换,其中Radon适用于信噪比较大的场合,尤其适用于X射线的医学图像处理中。

基于Hough变换的直线检测方法

基于Hough变换的直线检测方法步骤包括:

  1. 边缘检测
    常用的边缘检测方法包括Robert Cross算子,sobel算子,Prewitt算子,Canny算子等。

  2. 边缘增强
    上述边缘检测算子是基于梯度搜索方法,对图像中直线的残缺部分、噪声以及其它共存的非直线结构不敏感,检测边缘往往并不连续,存在离散点。因此,边缘增强对于直线检测来说是非常重要的。常见的边缘增强方法包括去噪,连接不连接边界,去除短边缘。以Canny算法为例,Canny设计了一个用于边缘检测最优预平滑滤波器的问题,后来他说明这个滤波器能够很好地的被一阶高斯导数核优化,另外他引入了非最大抑制概念,它是说边缘定义为在梯度方向具有最大梯度值的点。

  3. Hough变换
    在实际应用中,Hough变换通常采用参数方程
    r = xcos(q) +ysin(q)

  4. 寻找参数空间极值点,确定直线方程
    从公式可以看出,图像中的一个点对应参数平面中的一条直线,图像中的一条直线对应参数平面中的一个点。对图像上所有的点作霍夫变换,最终所要检测的直线对应的一定是参数平面中直线相交最多的那个点,这样就在图像中检测出了直线。

基于Radon变换的直线检测

基于Radon变换的直线检测方法步骤包括:

  1. 对数变换
    X射线衰减满足Beer定律。因此对于射线影像而言,对数处理的意义在去除背景的同时极大的提升了图像的对比度,充分保留了有用信息。
  2. Radon变换
  3. 寻找参数空间极值点,确定直线方程

相同点

Radon变换和Hough变换都是图像空间(笛卡尔坐标系)到参数空间(极坐标系)的映射,Hough变换可看成连续Radon变换的离散形式。

方法比较

抗噪能力

Hough变换对噪声敏感,图像中直线的残缺部分、噪声会使局部峰值点查找更为复杂,而Radon变换通过灰度图像沿着直线累加,减少噪声对直线检测的影响,更适用于弱信号检测。

计算复杂度

  1. Radon变换计算复杂度较低,并可通过GPU加速减少计算时间
    Radon变换等效于二维投影,在重建算法中已知成熟的加速策略(如将图像加载到纹理存储器),其计算时间可通过GPU大大减少。
  2. Hough计算量较大,非特征点的引入会极大的增加Hough变换的计算复杂度
    当输入数据稀疏(非零个数<5%)时,Hough变换的计算复杂度较低。因此Hough变换方法对边缘检测的要求较高,否则极大增加计算复杂度。

亚像素分辨率

  1. Radon变换支持亚像素分辨
    受有限尺寸焦点影响,X射线影像往往存在边界模糊。Radon变换作用于对数变换后的灰度图像,其结果包含了边界扩散引起的变化,可实现直线的亚像素检测。
  2. Hough变换不支持亚像素分辨
    Hough变换处理对象是离散的二值图像,不支持亚像素分辨

结论

Radon适用于信噪比较大的场合,尤其适用于X射线的医学图像处理中。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值