extern "C" void launch_rgb2hsvKernel(uchar* dev_rgb, float* dev_hsv, cudaStream_t &stream)
{
// 声明线程块数和块中线程数
dim3 dimGrid(IMG_HEIGHT, 1, 1);
dim3 dimBlock(IMG_WIDTH, 1, 1);
// 启动核函数将图像从RGB颜色空间转换到HSV颜色空间
rgb2hsvKernel<<<dimGrid, dimBlock, 0, stream>>>(dev_rgb, dev_hsv);
getLastCudaError("rgb2hsvKernel() execution failed.\n");
}
extern "C" void launch_segmentKernel(float *dev_fore_hsv, float *dev_back_hsv, uchar *dev_slt, cudaStream_t &stream)
{
// 声明线程块数和块中线程数
dim3 dimGrid(IMG_HEIGHT, 1, 1);
dim3 dimBlock(IMG_WIDTH, 1, 1);
// 启动核函数进行分割
segmentKernel<<<dimGrid, dimBlock, 0, stream>>>(dev_fore_hsv, dev_back_hsv, dev_slt);
getLastCudaError("segmentKernel() execution failed.\n");
} |