Размытая непрямоугольная область изображения, затем уменьшенное изображение целиком — OpenCV

Я использую OpenCV3 для размытия и уменьшения изображения, я просто хочу размыть область внутри области, определенной двоичной маской, как:

введите описание изображения здесь

После того, как эта область размыта, я хотел бы уменьшить изображение без повторного размытия всего изображения, поэтому pyrDown это не полезно для меня.

Любая идея?

1

Решение

Хитрый способ:

cv::Mat roi;
cv::blur(image & mask,roi,cv::Size(3,3));//Or whatever blurring you want
cv::Mat Result=(image & (~mask)) + roi;
cv::resize(result,result,cv::Size(New_Width,New_height)); // Or whatever downsampling you want
1

Другие решения

Других решений пока нет …