2015-10-04 4 views
4

Требуется шумоподавление изображений. Попробуйте с OpenCV и получите очень плохую производительность ~ 30 с на изображение!OpenCV Denoising очень медленный

пытаются использовать:

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

изображения: MaxSize (1024х1024) colred 3 канала

образец вызова:

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

Все хорошо работает, но очень медленно.

Моя конфигурация:

Lenovo T510, Core i7

для Windows 10

OpenCV 3.0.0 (источники - последнее - стабильные)

TBB (последний бин с официального сайта)

OpenCV построен с VS2015 с настройкой CMAKE по умолчанию без «мирового» модуля и WITH_TBB, все каналы TBB хорошо установлены (.../ia32/vc12)

(Для первого взгляда я думал, что проблема в том, что мой OpenCV построен без TBB, но TBB не поможет с шумоподавлением)

Ресурсы:

  1. Во время выполнения ЦП загружен до 100% всех ядер (так многопроцессорной в работе)

  2. Использует до 14 нитей (так mutithreading в работе)

Есть ли способ исправить эту проблему производительности, или это реальная скорость шумоподавления с помощью OpenCV?

Может быть, это некоторые проблемы с настройками C++, созданное моим консольным приложением (я из мира .net и C++ для меня не так знакомы)?

+1

Вы пробовали использовать меньшее окно поиска с помощью NLMeans? – Rotem

+1

попробуйте по вашему предложению \t cv :: fastNlMeansDenoising (_out, tmp, 3, 3,3) - (defaul is 3,7,21) это, конечно, конечно, но шум вообще не снижается. В любое время, когда я увеличиваю размер страницы изображения, вы получаете минимум 30 секунд. –

ответ

3

Ответ был прост - я использовал Debug-версию opencv (как это обычно бывает для .net), но для производительности C++ сильно различаются между конфигурацией Debug и Release.

После переназначения для выпуска сборки у меня есть продолжительность около 5 секунд на изображение. Это было не так быстро, как я ожидал, но он полезен.

Смежные вопросы