有关radon变换的算法的详情,写在这里:http://blog.youkuaiyun.com/celte/article/details/9826505
用Cuda实现radon变换,可以类似C语言程序操作。。。
这里可以简单的使用一个block,每个block包含numAngles个thread(在下面的代码中是181个thread)
#include <stdio.h>
#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)
{
const int tid=threadIdx.x;
float angle=gpuAngles[tid];
float *pOutput=gpuOutput+tid*rSize;
float sine=sin(angle);
float cosine=cos(angle);
int m,n;
for(m=0;m<rSize;m++)
pOutput[m]=0.0;
float *pInput=gpuInput;
for(n=0;n<N;n++
425



被折叠的 条评论
为什么被折叠?



