OpenCV Denoising is very slow

Noise reduction is required. Try it with OpenCV and get very poor performance ~ 30 s per image!

try using:

cv::fastNlMeansDenoising
cv::fastNlMeansDenoisingColored
cv::xphoto::dctDenoising

images: maxsize (1024x1024) colred 3 channel

sample call:

Mat src;
cv::imread("myfileName.jpg", src); //assume it 1024x768 photo
Mat trg(src.size(),src.type());
cv::xphoto::dctDenoising(src,trg,15); // sygma 15 got from algorithm site as balanced value

Everything works well, but VERY slowly.

My configuration:

Lenovo T510, i7 core

Windows 10

OpenCV 3.0.0 (sources - latest - stable)

TBB (last bit from the official site)

OpenCV, built with VS2015 with CMAKE configured by default without a "world" module and WITH_TBB, all TBB channels are well established (... / ia32 / vc12)

(For a first glance, I thought that the problem is that my opencv is built without TBB, but TBB does not help with noise reduction)

Resources

  • At run time, the CPU loads up to 100% of all cores (therefore, multiprocessing in operation)

  • 14 ( mutithreading )

OpenCV?

, ++, ( .net ++ )?

+4
1

- Debug- opencv ( .net), ++ Debug Release.

Release build 5 . , , .

+3

Source: https://habr.com/ru/post/1610145/


All Articles