Quantcast
Viewing all articles
Browse latest Browse all 41027

When I used UMat to active OpenCL, it seems stack-overflow

I'm trying use opencv with opencl in my Android phone. When I call bilateralFilter with UMat type parameters, there was wrong: OpenCV Error: Bad argument (Unknown/unsupported border type) in int cv::borderInterpolate(int, int, int), file D:\SourceCode\opencv\sources\modules\core\src\copy.cpp, line 951 and I add some print to check why the bordertype is wrong. Before invoke bilateralFilter, the print is : pirntf("d:%d sigmaColor:%f sigmaSpace %f\n",size,sigmaColor,sigmaSpace); bilateralFilter(srcImage, outImage, size,sigmaColor,sigmaSpace,BORDER_REPLICATE); In bilateralFilter, the print is: void cv::bilateralFilter( InputArray _src, OutputArray _dst, int d, double sigmaColor, double sigmaSpace, int borderType ) { printf("d:%d,sigmaColor:%f,digmaSpace:%f\n",d,sigmaColor,sigmaSpace); printf("borderType is %d in bilateralFilter of %s\n",borderType,__FILE__); The result confused me: d:7 sigmaColor:14 sigmaSpace:3.5 d:7,sigmaColor:0.000000,digmaSpace:0.000000 borderType is -1228914980 in bilateralFilter of D:\SourceCode\opencv\sources\modules\imgproc\src\smooth.cpp** **It seems there is a stack error. But I can't understand why the parameter of d is correct and why the stack error occurs.** PS: If I used Mat, it is ok.

Viewing all articles
Browse latest Browse all 41027

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>