用于插值单个像素和小斑点的内置函数

Build-in function for interpolating single pixels and small blobs

问题

是否有用于对单个像素进行插值的内置函数? 给定一个正常图像 Mat 和一个 Point,例如传感器异常或异常值,它们是否具有修复此 Point 的功能? 此外,如果我有多个 Point 连接(假设一个面积小于 10x10 的 blob)是否也有可能修复它们?

尝试但不是真正的解决方案

似乎在几何变换中实现了插值,包括调整图像大小和使用 borderInterpolate 外推图像外的像素,但我还没有发现单个像素或小像素簇的可能性。

建议 medianBlur 解决方案似乎不合适,因为它改变了整个图像。

备选

如果没有内置函数,我的想法是查看不属于斑点的所有 8 个相连的周围像素,并计算平均值或加权平均值。如果反复执行此操作,则应填充所有丢失或错误的像素。但是这种方法将依赖于校正每个像素的应用顺序。还有其他建议吗?

更新

这是一张图片来说明问题。在原始图像上留下标记要修复的像素的轮廓。右侧显示固定像素。我希望找到一些复杂的算法来修复像素。

OpenCV 的 build-in 函数 inpaint 对所选像素进行所需的插值。只需创建一个包含要修复的所有像素的蒙版即可。

在此处查看文档:OpenCV 3.2. Description: inpaint and Function: inpaint