Требуется шумоподавление изображений. Попробуйте с 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 не поможет с шумоподавлением)
Ресурсы:
Во время выполнения ЦП загружен до 100% всех ядер (так многопроцессорной в работе)
Использует до 14 нитей (так mutithreading в работе)
Есть ли способ исправить эту проблему производительности, или это реальная скорость шумоподавления с помощью OpenCV?
Может быть, это некоторые проблемы с настройками C++, созданное моим консольным приложением (я из мира .net и C++ для меня не так знакомы)?
Вы пробовали использовать меньшее окно поиска с помощью NLMeans? – Rotem
попробуйте по вашему предложению \t cv :: fastNlMeansDenoising (_out, tmp, 3, 3,3) - (defaul is 3,7,21) это, конечно, конечно, но шум вообще не снижается. В любое время, когда я увеличиваю размер страницы изображения, вы получаете минимум 30 секунд. –