1

问题

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

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

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

此处medianBlur建议的解决方案似乎不合适,因为它会更改整个图像。

选择

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

更新

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

左:带有要修复的像素轮廓的原始图像。 右:像素固定

4

1 回答 1

1

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

请参阅此处的文档:OpenCV 3.2。描述:inpaint功能:inpaint

于 2017-01-23T07:40:22.997 回答