Ask Your Question

GPU/CUDA function for bilateral filter in OpenCV 3

asked 2017-03-03 10:18:18 -0600

wolfyllow gravatar image

updated 2017-03-17 11:43:42 -0600


First of all, sorry if I am asking something very obvious, but after a long search, I haven't found anything.

I am porting an old project from OpenCV 2 to OpenCV 3, but I don't know how to port cv::gpu::bilateralFilter. For performance purposes, I need to use a gpu bilateral filter function, but I cannot see anything similar. For the moment I am using cv::bilateralFilter, but I am afraid this is not using gpu.

Also, I found cv::cuda::bilateralFilter here (, but it is not something callable from the last version in the OpenCV repository code (with CUDA enabled).

Thanks in advance! :)

Edit 1: Diving in the source code, I have found that, actually, cv::cuda::bilateralFilter is callable if I include #include "opencv2/cudaimgproc.hpp"even when this doesn't appear in the documentation. The problem now is that I get a link error in Visual Studio 2015 that I don't understand :/

Error LNK2019 unresolved external symbol "void __cdecl cv::cuda::bilateralFilter(class cv::_InputArray const &,class cv::_OutputArray const &,int,float,float,int,class cv::cuda::Stream &)" (?bilateralFilter@cuda@cv@@YAXAEBV_InputArray@2@AEBV_OutputArray@2@HMMHAEAVStream@12@@Z)
edit retag flag offensive close merge delete

1 answer

Sort by ยป oldest newest most voted

answered 2017-12-05 23:10:00 -0600

munesh gravatar image

Though this question is there since March 2017. Just want to share my experience with cuda::bilateralFilter(..).

Since I use Nsight Eclipse Edition on Ubuntu, my answer may not be a direct one. The linking error is primarily due to the non-inclusion of opencv_cudacodec library in the linker.

edit flag offensive delete link more

Question Tools

1 follower


Asked: 2017-03-03 10:18:18 -0600

Seen: 1,759 times

Last updated: Dec 05 '17