public void TestCudaRemap() { if (!CudaInvoke.HasCuda) { return; } Image <Gray, float> xmap = new Image <Gray, float>(2, 2); xmap.Data[0, 0, 0] = 0; xmap.Data[0, 1, 0] = 0; xmap.Data[1, 0, 0] = 1; xmap.Data[1, 1, 0] = 1; Image <Gray, float> ymap = new Image <Gray, float>(2, 2); ymap.Data[0, 0, 0] = 0; ymap.Data[0, 1, 0] = 1; ymap.Data[1, 0, 0] = 0; ymap.Data[1, 1, 0] = 1; Image <Gray, Byte> image = new Image <Gray, byte>(2, 2); image.SetRandNormal(new MCvScalar(), new MCvScalar(255)); using (CudaImage <Gray, Byte> CudaImage = new CudaImage <Gray, byte>(image)) using (CudaImage <Gray, float> xCudaImage = new CudaImage <Gray, float>(xmap)) using (CudaImage <Gray, float> yCudaImage = new CudaImage <Gray, float>(ymap)) using (CudaImage <Gray, Byte> remapedImage = new CudaImage <Gray, byte>(CudaImage.Size)) { CudaInvoke.Remap(CudaImage, remapedImage, xCudaImage, yCudaImage, CvEnum.Inter.Cubic, CvEnum.BorderType.Default, new MCvScalar(), null); } }