2016-12-15 6 views
0

Я довольно новичок в OpenCV и Python. Мне нужно применить Gaussian Blur на контурах, которые я использую cv2.findContours. Я успешно применил Gaussian Blur, но только на прямоугольниках. Я не мог найти примеров, которые показывают, как применять его к контурам случайной формы.Применение Gaussian Blur на полигоне с использованием OpenCV и Python

Я использую OpenCV версии 3.1.0.

Спасибо!

ответ

0

Вы могли бы рассмотреть смазывание изображения везде, а затем принимать взвешенное среднее между размытым изображением, и оригинальное изображение, где веса один внутри области контура, и нуль вне:

outImg = img.mul(contourMask) + blurredImg.mul(1-contourMask); 

В качестве альтернативы используйте copyTo:

outImg = img.clone(); 
blurredImg.copyTo(outImg,contourMask);