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

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

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

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

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

其中ds是该直线的微分。
       上述关于x,y的积分是很容易求解的,其中一种求解技巧是借助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】,需要的小伙伴请自行下载,另外如果有小伙伴知道如何更改下载币或者设置为免费下载,请告知我,设置免费分享,感谢。

==============================================

\

Radon变换理论介绍相关推荐

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

    本人最近在研究Radon变换,在查阅了各种资料之后在此写下个人的理解,希望与各位牛牛进行交流共同进步,也使得理解更加深刻些. Radon变换的本质是将原来的函数做了一个空间转换,即,将原来的XY平面内 ...

  2. UA MATH564 概率论 多元随机变量的变换 理论与应用1

    UA MATH564 概率论 多元随机变量的变换 理论与应用1 定义法 Jacobi行列式法 假设X1,⋯,XnX_1,\cdots,X_nX1​,⋯,Xn​是nnn个一元随机变量,存在一个C1(Rn ...

  3. 【CT算法,radon变换】基于MATLAB的CT算法,radon变换的三维建模仿真

    1.软件版本 MATLAB2021a 2.本算法理论知识 1.输入:T(x,y,z) 使用stl读取函数完成T的导入工作 2.做Radon变换,得投影图:P 正常Radon变换即可. 3.对P:应用斜 ...

  4. OpenCV F变换理论F-transform theory

    OpenCV F变换理论 F变换理论 目标 介绍 在图像处理中的应用 从像素角度看 从模糊成分的角度 F变换理论 目标 在本教程中,将介绍模糊变换的基本概念.您将学习: 数学背景 如何将模糊性的概念应 ...

  5. pythonsl火车加字_荐Python实现Radon变换——直接反投影和滤波反投影

    前几天我学习了Radon变换并用Python做了一个简单的程序(见上一篇博文),昨天看了一下逆Radon变换,尝试了一下简单的实现.我们可以通过对Sinogram图使用逆Radon变换来还原原始图像, ...

  6. C语言实现radon变换

    Radon变换: 考虑b=ax+y,将原来的XY平面内的点映射到AB平面上.则原来在XY平面上的一条直线的所有的点,在AB平面上都位于同一个点.通过记录下AB平面上的点的积累厚度,可反知XY面上的一条 ...

  7. 实例学习SSIS(五)--理论介绍SSIS

    导读: 实例学习SSIS(一)--制作一个简单的ETL包 实例学习SSIS(二)--使用迭代 实例学习SSIS(三)--使用包配置 实例学习SSIS(四)--使用日志记录和错误流重定向 实例学习SSI ...

  8. 随机抽样一致算法(RANSAC)理论介绍和程序实现

    1.随机抽样一致算法(Random sample consensus,RANSAC)理论介绍 Ordinary LS是保守派:在现有数据下,如何实现最优.是从一个整体误差最小的角度去考虑,尽量谁也不得 ...

  9. 图像倾斜校正 Radon 变换原理及函数

    radon校正 Radon(拉东)算法是一种通过定方向投影叠加,找到最大投影值时角度,从而确定图像倾斜角度的算法.具体过程如图所示 拉东变换 若函数F表示一个未知的密度,对F做radon变换,相当于得 ...

  10. Radon变换(Matlb)

    clear clc %只是尽量的大概的模拟出一个radon变换 %I = imread('Mark.bmp'); %I = imread('gantrycrane.png');I = imread(' ...

最新文章

  1. iOS中引用计数内存管理机制分析
  2. 从一亩三分地转——“有代码的地方,就有江湖 - 冯诺伊曼.金庸”
  3. Apache Storm 官方文档 —— 源码组织结构
  4. Sqoop导入导出的时候总是出现等待5分钟的问题解决办法
  5. 高行健---江西赣州人
  6. sqlserver2008未将对象引用设置到对象的实例_JVM | Java对象的创建、存储和访问详解...
  7. 微软首款 Office 应用程序登陆 Linux
  8. QQ for Linux 复活,微信 for Linux 还远吗?
  9. .net core下的dotnet全局工具
  10. 简单粗暴的流水灯仿真和代码
  11. 在SQLServer软件导入文件与数据查询
  12. 优先部署EDI系统把握信息传输的主动权
  13. 使用Ventoy制作启动盘
  14. 机器人断脚_超强算法让机器人脚断了照样跑
  15. 【P3369 普通平衡树】 Splay
  16. 【Paper】WISDM:Activity Recognition using Cell Phone Accelerometers
  17. Android如何让Fragment加载到Activity中
  18. 怎么在PDF上直接修改?最新教程来了
  19. 2020湖南省技能竞赛获奖名单_心理知识竞赛获奖名单新鲜出炉
  20. 通达信波段主图指标公式,源码简洁原理却不简单

热门文章

  1. 人月神话札记:未雨绸缪
  2. html页面显示dcm文件,基于HTML5标准的Dicom图像显示.doc
  3. 求极限的若干方法经验和教训
  4. java毕业答辩会问什么,java毕业设计答辩(详细流程介绍)
  5. Android 智能聊天机器人demo(类似小爱同学)
  6. ubantu 安装火狐浏览器插件
  7. 如何高效率安排你的时间?Mac精品日程管理软件推荐
  8. 硅谷系创业公司,这家深耕物联网22年的Fabless终于走到上市关口
  9. java超级玛丽代码_java版超级玛丽源代码
  10. DDR4、LPDDR4、LPDDR4x区别及DDR拓展