【发布时间】:2017-04-09 18:48:57
【问题描述】:
我正在寻找一种在 OpenCV 中实现过滤器(类似于 GIMP 中的“Pixelize”过滤器)的方法。
https://docs.gimp.org/2.6/en/plug-in-pixelize.html
到目前为止,我尝试的是使用cv::resize(...) 对图像进行下采样和上采样。
cv::resize(*src, *trg, cv::Size(), perc, perc, flag);
cv::resize(*trg, *trg, cv::Size(src->size().width, src->size().height),flag);
结果实际上只是图像质量下降。
【问题讨论】:
-
图像质量(有效分辨率)的降低看起来与 gimp 所做的相同:docs.gimp.org/2.6/en/plug-in-pixelize.html。使用较小的调整后分辨率和“最接近”。
-
Pixelise实际上是对图像进行模糊处理,如果你缩小图像尺寸,就像你正在做的那样或用高斯模糊对图像进行模糊处理,你就会得到效果。
标签: c++ opencv image-processing filter