关于GPU编程的这些资料均是我早期的一些资料,趁出差这段时间整理下,所以就直接复制过来了,其中会有一些瑕疵,请读者朋友斧正,以下的代码仅仅是验证,在VS上已通过且达到了预期的目的,如果有时间,接下来我会编写并分享使用gpu编程实际应用过程中的经验教训和总结。
图像的纹理内存的读取方法:
特别提示:gpu上的tex2D(img,x,y)中的x,y坐标对应图像坐标是:
X=0~cols,y=0~rows,与img.at<uchar>(x,y)的x,y刚好相反。
一、纹理内存的使用示例:
1、一维纹理内存示例(cu文件,必须先把数据cudaMemcpy到设备上,然后把设备上的该数据绑定到纹理内存):
texture <unsigned char, 1, cudaReadModeElementType>textImg;
__global__voidCalAngle(int imgH,intimgW, ,unsignedchar*dev_ptr, )
{
intx = threadIdx.x + blockIdx.x*blockDim.x;
if(x <= (imgH*imgW))
{
dev_ptr[x]= tex1Dfetch(textImg, x);
}
}
void main(Mat img)
{