【问题标题】:Restore original image from multiple watermarked从多个水印中恢复原始图像
【发布时间】:2021-03-25 13:11:19
【问题描述】:

我有多张带有水印的图片。每个水印形状相同,由白色 (#fff) 和黑色 (#000) 颜色组成,但比例随机:

  • 不透明度 10-15%
  • 身高 95-100%
  • y 位置:从中间 +- ~20px
  • 轻微变形

首先,我检测the lightestthe darkest 变体。 另外,我可以列出不同像素的位置。那么,如何恢复original image

我有很多想法,但每个想法都在某些情况下以失败告终。是否可以在不使用神经网络和其他库(如 OpenCV)的情况下解决此问题?

感谢您的帮助,我已经困惑了一个多星期了。

【问题讨论】:

  • 为什么不想使用 OpenCV 或 NN?这不是一个简单的问题,您可以尝试仅使用 OpenCV 来解决它们,这取决于问题的范围。我想,这本身就非常困难。我认为没有办法轻松解决这个问题。最好的方法是使用 NN 方法。
  • 您能否提供一张图片的几个或多个变体,用于演示目的?
  • @ChristophRackwitz,它可以是任何图像,其顶部有一个仅由白色和黑色组成的水印,但每个图像的位置和透明度不同。这样我们就得到了不同像素的地图。任务是为每个像素确定其原始颜色
  • 我已经发布了答案。这对你有帮助吗?

标签: algorithm image-processing computer-vision interpolation


【解决方案1】:

假设您拥有相同的图像,但每个版本中都有一些像素受到干扰...

堆叠它们,取中位数

从数学上讲,您需要“众数”,但中位数是更常见的运算。要么将产生每个像素的多数值(或足够接近的值),这应该是该像素的未触及值。

您可以只使用 numpy 作为中值,使用 scikit-image 加载文件。

如果您的像素在所有版本中总是被水印覆盖,情况就会变得棘手。您必须制定一些水印对像素影响的模型。我认为这是可行的,但工作量很大。

【讨论】:

    猜你喜欢
    • 2019-05-22
    • 1970-01-01
    • 1970-01-01
    • 2013-10-02
    • 2012-10-02
    • 1970-01-01
    • 2012-06-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多