【问题标题】:Pixelize implementation in OpenCVOpenCV中的像素化实现
【发布时间】: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


【解决方案1】:
  1. 缩小尺寸(前 10 次)。
  2. 恢复大小:resize(_inputImage, outImage, Size(windth,height),0,0,INTER_NEAREST);

【讨论】:

    猜你喜欢
    • 2016-01-09
    • 1970-01-01
    • 2017-10-09
    • 1970-01-01
    • 2019-08-25
    • 1970-01-01
    • 2020-12-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多