Radon变换理论介绍与matlab实现--经验交流

      本人最近在研究Radon变换,在查阅了各种资料之后在此写下个人的理解,希望与各位牛牛进行交流共同进步,也使得理解更加深刻些。

        Radon变换的本质是将原来的函数做了一个空间转换,即,将原来的XY平面内的点映射到AB平面上,那么原来在XY平面上的一条直线的所有的点在AB平面上都位于同一点。记录AB平面上的点的积累厚度,便可知XY平面上的线的存在性。这便是大家所公认的Radon变换的实质所在。       

        上述听起来很在理也很简单,但却少了直观性。那么,详细的数学理论是什么呢?请看下文:

        如果我们将图像中心设为原点,用\rho(直线到原点的距离)和\theta(某一特定方向)代替ab,即,理解为图像在空间的投影,如图-1所示,用参数表示上述直线,则有:

        假定有一个函数f(x,y),如图-2所示,那么该函数过直线L区域的积分即为:

其中 ds是该直线的微分。
       上述关于 xy的积分是很容易求解的,其中一种求解技巧是借助Delta函数,上述积分可以写为:

 

        因而,给定一组\rho \theta那么就可以得出一个沿L(\rho,\theta)的积分值。因此,Radon变换就是函数f (x,y)的线积分,如图-3所示。

     假如有很多平行于L的线,他们有相同的\theta,径向坐标\rho却不同,这就很好的印证了matlab自带的radon变换命令中每个\theta角度的Radon变换结果是有两个输出项R(特定角度下的Radon变换值也即线积分值)与xp,一一对应(xp可缺省)。我们对每一条这样的平行线都做f(x,y)的线积分,会产生很多投影线,如图-4所示。也就是说对一幅图像在某一特定角度下的Radon变换会产生N个线积分值(Radon变换),而每一个线积分值会对应一个径向坐标xp,如图-5所示。各个角度的Radon变换值汇总在一起就构成一幅Radon变化图。

      Radon变换将原图像空间中的直线映射为\rho \theta 空间中的点(线积分值),图像中高灰度值的直线会在\rho \theta空间形成亮点,而低灰度值的线段在\rho \theta空间形成暗点。因而,对直线的检测可转化为在变换区域对亮点、暗点的检测,另外,Radon变换的逆变换常用于医学CT断层成像图像的重建。

       下面给出我个人的几个简单的Radon变换与其重构matlab实验结果:

       另外:我实验的图像是长方形的,发现重构的结果内容显示并不全,研究了matlab内置的radon逆变换之后,稍微做了显示更改这才显示完全。

 

      以上只是我个人对radon变换的理解,并不具权威性,如有疏漏或者不严谨的地方,希望大家能够指出,jojo会努力修正的~~

谢谢各位大同行!

 

鉴于各位小伙伴对该算法及实现感兴趣,我又不一定能及时回复,特将matlab实现及相关文件上传至csdn【https://download.csdn.net/download/sinat_26681907/11068444】,需要的小伙伴请自行下载,另外如果有小伙伴知道如何更改下载币或者设置为免费下载,请告知我,设置免费分享,感谢。

  • 49
    点赞
  • 124
    收藏
    觉得还不错? 一键收藏
  • 61
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 61
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值