public void Simple2GPUTest() { Cuda.GpuMat gpumat = new Cuda.GpuMat(); Cuda.GpuMat gpumat_des = new Cuda.GpuMat(); Mat src = Image("lenna.png", ImreadModes.Grayscale); gpumat.Upload(src); Cuda.CannyEdgeDetector canny = Cuda.CannyEdgeDetector.create(100, 50); canny.detect(gpumat, gpumat_des); Mat des = new Mat(); gpumat_des.Download(des); Cv2.ImWrite("test.png", des); }
public void SimplecannyTest() { Cuda.GpuMat gpumat = new Cuda.GpuMat(); Cuda.GpuMat gpumat_2 = new Cuda.GpuMat(); Mat src = Image("lenna.png", ImreadModes.Grayscale); gpumat.Upload(src); Cuda.CannyEdgeDetector canny = Cuda.CannyEdgeDetector.create(100, 50); //bool aaaa = canny.Empty; //output.WriteLine(canny.ToString()); output.WriteLine("out: {0}", canny.CvPtr); canny.detect(gpumat, gpumat_2); //canny.Dispose(); Mat des = new Mat(); gpumat_2.Download(des); Cv2.ImWrite("test.png", des); }
public void cuda_canny() { Mat src = Image("lenna.png", ImreadModes.Grayscale); Size size = src.Size(); double low_thresh = 50.0; double high_thresh = 100.0; using (GpuMat g_src = new GpuMat(size, src.Type())) using (GpuMat edges = new GpuMat()) { g_src.Upload(src); Cuda.CannyEdgeDetector canny = Cuda.CannyEdgeDetector.create(low_thresh, high_thresh); canny.detect(g_src, edges); //output.WriteLine("out: {0}", canny.LowThreshold); Mat edges_gold = new Mat(); Cv2.Canny(src, edges_gold, low_thresh, high_thresh); ImageEquals(edges_gold, edges, 2); ShowImagesWhenDebugMode(edges_gold, edges); } }