Ask Your Question

sarthakahuja11's profile - activity

2016-10-06 09:26:59 -0600 asked a question Confusion if PtrStepSZ is compatible with CUDA 7.5

Actually the problem is I am recieving a Mat Image in a function and i want it to split it into 3 channels, hence I am not sure if I pass a Mat image function in the cpp file, then in the .cu file converting into a unsigned char pointer than in the final kernel making it a PtrStepSz

These are my function calls:

Mat imghsv,dstimg,dstimg1,dstimg2;
void gpu_inRange(imghsv, dstimg,dstimg1, dstimg2);
.
.
..

extern "C" void gpu_inRange(unsigned char *h_imghsv, unsigned char *dstimg, unsigned char *dstimg1, unsigned char *dstimg2)
.
..
..

gpu_inRange_kernel<<>>(d_imghsv,dstimg,dstimg1,dstimg2);
.
.
.
.
.
..
void gpu_inRange_kernel(const PtrStepSz imghsv,PtrStepSzb dstimg, PtrStepSzb dstimg1, PtrStepSzb dstimg2)

. ... .. Right now I'm pretty uncertain if this will work or not. As I guess there are too many conflicting data types plus I have'nt used these before. I think if change the unsigned char* into a GpuMat , then will it work? As it is mentioned in the Documentation " The GpuMat class is convertible to cuda::PtrStepSz and cuda::PtrStep so it can be passed directly to the kernel"

So is the following declaration better?

extern "C" void gpu_inRange(cv::cuda::GpuMat h_imghsv, cv::cuda::GpuMat dstimg, cv::cuda::GpuMat dstimg1, cv::cuda::GpuMat dstimg2)

I started learning CUDA few months back and still I am figuring few things. It would be really great if you could help me with this. Thanks a ton! :)

2016-10-06 09:08:45 -0600 received badge  Supporter (source)
2016-10-06 08:00:06 -0600 received badge  Enthusiast
2016-10-03 08:44:08 -0600 commented question How to convert from "const cv::cuda::GpuMat" to "const cv::cuda::PtrStepSz<uchar3>"

Please someone help me out on this. I am facing serious issues regarding this :/

2016-10-01 15:10:07 -0600 received badge  Critic (source)
2016-10-01 14:52:36 -0600 commented question a wierd result of a project with GpuMat and cuda

Hi, I am also new to GpuMat struct and PtrStep so I am wondering if your above code sucessfully compiled or not with NVCC? If you were able to execute it were you able to link all the things in a cmake file? If yes, It would be of a great help if you could share it with me privately via email. But still please tell if you were able to solve the Mat and PtrStep issue? Or is there an alternative to it? Thanks!

2016-10-01 14:35:29 -0600 commented question How to convert from "const cv::cuda::GpuMat" to "const cv::cuda::PtrStepSz<uchar3>"

Could you please let me know how did you solve this issue? I am working on the same thing for a Project. Is this possible with NVCC 7.5 ? Please let me know how did you figure this out or if is possible to do this on GPU or not? Or any alternative is possible? Thanks!

2016-09-29 17:04:15 -0600 commented answer OpenCV CUDA - method that works like inRange()

Hi ! I am currently working on the same thing as described above and could'nt really figure out what to do exactly , hence faced similiar issues. I just wanted to ask if anybody could finally get a proper working implentation of it or not as I need it for my project work too. Graver, were you able to do it? Please let me know , yes or no. Thanks!