Radon變換理論介紹

2021-09-26 19:43:01 字數 1853 閱讀 2123

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會努力修正的~~

謝謝各位大同行!

Cuda實現Radon變換

有關radon變換的演算法的詳情,寫在這裡 用cuda實現radon變換,可以類似c語言程式操作。這裡可以簡單的使用乙個block,每個block包含numangles個thread 在下面的 中是181個thread include include math.h include cuda runt...

學習日誌 radon變換 2017 6 9

畢設運用了hough變換提取儀表影象中的直線,但是太生硬,太粗糙。於是想多學習些直線提取的方法。直線檢測的方法從演算法上分為三類 基於邊緣檢測的直線提取方法 基於假設檢驗策略的直線提取方法 基於空間變換的直線提取方法。hough變換就屬於第三類,今天學習了一些radon變換的知識。定義與理解 兩維情...

Radon變換入門matlab CT原理

簡介 影象投影,就是說將影象在某一方向上做線性積分 或理解為累加求和 如果將影象看成二維函式f x,y 則其投影就是在特定方向上的線性積分,比如f x,y 在垂直方向上的線性積分就是其在x軸上的投影 f x,y 在水平方向上的線積分就是其在y軸上的投影。通過這些投影,可以獲取影象在指定方向上的突出特...