畢設運用了hough變換提取儀表影象中的直線,但是太生硬,太粗糙。於是想多學習些直線提取的方法。
直線檢測的方法從演算法上分為三類:基於邊緣檢測的直線提取方法;基於假設檢驗策略的直線提取方法;基於空間變換的直線提取方法。hough變換就屬於第三類,今天學習了一些radon變換的知識。
定義與理解:
兩維情況下radon變換大致可以這樣理解:乙個平面內沿不同的直線(直線與原點的距離為d,
方向角 為α)對f(x,y)做
線積分 ,得到的像f(d,α)就是函式f的radon變換。我的理解是:相當於一幅影象從(x,y)空間到(p,θ)空間的對映,在(x,y)空間中(p,θ)表示一條直線,在(p,θ)空間中表示乙個點,這一點的值是radon變換的值,即線積分的值。當原圖裡有一條直線時,它radon變換出的值就會很大,根據這個就可以檢測直線。
在其他地方看到的hough變換與radon變換的聯絡與區別:
hough
變換把影象空間中給定的曲線按曲線的引數表示式變換成引數空間中的點,然後通過在引數空間中尋找峰值來達到在影象空間中尋找曲線的目的。可以使用
hough
變換來尋找影象中的直線。
radon變換則以線積分的形式把影象空間投影到ρθ空間(等同於直線的引數空間)。
直線hough變換與radon變換的區別在於前者是直線引數變換的離散形式,而後者則是直線引數變換的連續形式。所以hough變換直接應用在二值影象上,而radon變換直接應用在灰度影象上。另外,由於二值影象只需要處理前景或者背景畫素,所以hough變換速度一般更快。hough變換通常用在幾何形狀檢測、文件版面分割等領域。
而radon變換也有獨特的優勢。由於二值影象的不連續性,表面上看hough變換結果中峰值位置明顯,效果比radon變換好,但實際上由於通常意義上難以對一幅影象進行恰當的二值分割,所以在一般情況下radon變換要比hough變換更精緻而且準確。radon變換是全面的變換,可以從radon變換的結果重建變換前的影象。所以在斷層掃瞄中大量使用了radon變換及其逆變換。
Cuda實現Radon變換
有關radon變換的演算法的詳情,寫在這裡 用cuda實現radon變換,可以類似c語言程式操作。這裡可以簡單的使用乙個block,每個block包含numangles個thread 在下面的 中是181個thread include include math.h include cuda runt...
Radon變換理論介紹
radon變換的本質是將原來的函式做了乙個空間轉換,即,將原來的xy平面內的點對映到ab平面上,那麼原來在xy平面上的一條直線的所有的點在ab平面上都位於同一點。記錄ab平面上的點的積累厚度,便可知xy平面上的線的存在性。這便是大家所公認的radon變換的實質所在。上述聽起來很在理也很簡單,但卻少了...
Radon變換入門matlab CT原理
簡介 影象投影,就是說將影象在某一方向上做線性積分 或理解為累加求和 如果將影象看成二維函式f x,y 則其投影就是在特定方向上的線性積分,比如f x,y 在垂直方向上的線性積分就是其在x軸上的投影 f x,y 在水平方向上的線積分就是其在y軸上的投影。通過這些投影,可以獲取影象在指定方向上的突出特...