2017-04-09 42 views
0

我正在寻找一种在OpenCV中实现过滤器(类似于GIMP中的“Pixelize”过滤器)的方法。OpenCV中的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); 

结果实际上只是图像质量的下降。

+1

降低图像质量(有效分辨率)看起来是已通过GIMP做了相同的:https://docs.gimp.org/2.6/en/plug-in-pixelize .html。使用较小的调整大小的分辨率和“最接近的”。 – Micka

+1

Pixelise实际上模糊了图像,如果您像缩小图像一样缩小图像,或者使用高斯模糊模糊图像,则会得到该效果。 –

回答

1
  1. 减小尺寸(例如10倍)。
  2. 恢复大小与:resize(_inputImage, outImage, Size(windth,height),0,0,INTER_NEAREST);