在上一篇中说到拉东变换其实和CT的一样的, 也是一个屏幕在绕着一个物体旋转, 然后得到 θ∈
但是仔细想一下, 在θ相同的时候, 只要 r 取值不同就可以得到正弦图的 一条 了啊, 为什么要那么麻烦每次都计算一次无聊到死的积分
于是, 为了偷懒, 人们就开始不旋转屏幕, 而开始旋转ρ函数 (脑补一下病人绑在病床上, 每秒钟自转200圈的感觉)
大概思路有:1.确保需要投影的点都在旋转范围内(蓝色的圆) [这就是为什么图片需要padding的原因了]2.把整个在圆内的点旋转θ3.把整个范围进行x轴积分4.然后就得到了 θ 为一个值时, r 为任意值的拉东变换了, 用公式表示成下面 (不标准写法)
在讲逆变换之前先来说说正规的变换的写法, 不然符号非常非常容易混乱
在Rρ(r, θ)这个结果中, 固定住角度θ, 并且对 r 进行傅里叶变换
参照快速拉东变换的做法, 逆变换的思路就是: 既然我们不知道内部的情况, 只知道投影之后的影子R(θ). 那么针对一个特定的角度θ, 我们有投影结果R, 那么我们假设内部的分别为线状, 恰好能生成这样的影子
这个就叫做逆投影了, 那么对每个角度θ都进行逆投影然后叠加在一起, 那么就可以得到内部图像的影像了, 用公式表示大概就是下面的东西 (乱凑的):
我们可以看到已经和原图像差不多一模一样了, 但是同时也可以看到有一片白色的光晕
这时候我们就需要把Rρ进行预处理, 我所知道的预处理有两种 (实际上肯定不止的)
第一种是把值比较高的地方, 左右压下去 (这就意味着是比较亮的边缘是比较暗的)
但是这个方法也有一个问题, 就是如果目标图像非常精细, 而你的信号分辨率又不够好, 这种方法反而会让图像变得更糟, 这时候就需要另一个方法了
操作: 把信号作傅里叶变换, 然后把频率为0的分量乘以0, 高一点的乘以一个比0大一点点的数字, 再高频率的乘以一个再大一点点的数字, 直到最高频率的乘以1或者2, 然后把乘好的这堆频率分量进行傅里叶逆变换得到信号, 然后再把信号扔进逆投影
可以看到方块的棱角清晰了很多, 而且光晕也减轻了很多, 但同时方块的亮度也被减少了
其实第二种方法就是我自己使用的方法了, 在实际操作中也得到了非常好的结果, 再宣传一下自己= =