有關radon變換的演算法的詳情,寫在這裡:
用cuda實現radon變換,可以類似c語言程式操作。。。
這裡可以簡單的使用乙個block,每個block包含numangles個thread(在下面的**中是181個thread)
#include #include "math.h"
#include "cuda_runtime.h"
#include "device_launch_parameters.h"
__global__ static void radon_cuda_core(float *gpuoutput,float *gpuinput,float *gpuangles,int m,int n,int xorgin,int yorgin,int numangles,int rfirst,int rsize)
int main()
else
i[p*100+k]=0;
} }float *gpu_result;
gpu_result=(float *)calloc(numangles*rsize,sizeof(float));
memset(gpu_result,0,numangles*rsize);
radon_cuda(gpu_result, i, thetaptr, m, n, xorigin, yorigin, numangles, rfirst, rsize);
printf("gpu計算結束。。。\n");
free(i);
free(thetaptr);
free(cpu_result);
free(gpu_result);
getchar();
return 0;
}
Radon變換理論介紹
radon變換的本質是將原來的函式做了乙個空間轉換,即,將原來的xy平面內的點對映到ab平面上,那麼原來在xy平面上的一條直線的所有的點在ab平面上都位於同一點。記錄ab平面上的點的積累厚度,便可知xy平面上的線的存在性。這便是大家所公認的radon變換的實質所在。上述聽起來很在理也很簡單,但卻少了...
學習日誌 radon變換 2017 6 9
畢設運用了hough變換提取儀表影象中的直線,但是太生硬,太粗糙。於是想多學習些直線提取的方法。直線檢測的方法從演算法上分為三類 基於邊緣檢測的直線提取方法 基於假設檢驗策略的直線提取方法 基於空間變換的直線提取方法。hough變換就屬於第三類,今天學習了一些radon變換的知識。定義與理解 兩維情...
Radon變換入門matlab CT原理
簡介 影象投影,就是說將影象在某一方向上做線性積分 或理解為累加求和 如果將影象看成二維函式f x,y 則其投影就是在特定方向上的線性積分,比如f x,y 在垂直方向上的線性積分就是其在x軸上的投影 f x,y 在水平方向上的線積分就是其在y軸上的投影。通過這些投影,可以獲取影象在指定方向上的突出特...