gpt4 book ai didi

matlab - 从照片中去除纸张纹理图案

转载 作者:太空宇宙 更新时间:2023-11-03 19:06:28 25 4
gpt4 key购买 nike

我扫描了一张带有纸张纹理图案的旧照片,我想在不降低图像质量的情况下尽可能地去除纹理。有没有办法,可能使用 MATLAB 中的图像处理工具箱?

我已经尝试应用 FFT 变换(使用 Photoshop plugin ),但我找不到任何清晰的白点来覆盖。可能这种方法的模式不是很规则?

您可以在下面查看示例。如果您需要完整图像,我可以将其上传到某个地方。 photograph sample

最佳答案

不幸的是,您几乎停留在空间域中,因为模式的重复性不足以使傅里叶分析有用。

正如@Jonas 和@michid 所指出的,过滤将帮助您解决此类问题。通过过滤,您需要在要保留的细节量和要去除的噪声量(或不需要的图像成分)之间进行权衡。例如,@Jonas 使用的中值滤波器完全去除了纸张纹理(甚至是图像底部边缘附近的圆形划痕),但它也去除了眼睛、头发、面部和背景中的所有纹理(尽管我们并不真正如此关心背景,重要的是前景)。您还会看到图像对比度略有下降,这通常是不希望出现的。这使图像具有人造外观。

下面是我处理这个问题的方法:

  • 检测纸张纹理图案:
    • 对图像应用高斯模糊(使用大内核确保所有纸张纹理信息都被破坏
    • 计算模糊图像和原始图像之间的图像差异
    • EDIT 2 对差异图像应用高斯模糊(使用小的 3x3 内核)
  • 使用根据经验确定的阈值对上述模式进行阈值处理。这会产生可用作掩码的二值图像。
  • 使用中值滤波(如@Jonas 所述)图像中与纸张图案相对应的部分。

纸张纹理图案(阈值处理前):

enter image description here

您希望上图中出现尽可能少的实际图像信息。你会发现你可以非常隐约地辨认出脸部的边缘(这不是很好,但这是我有时间所能做的最好的)。您还希望此纸张纹理图像尽可能均匀(以便阈值处理在整个图像上产生相同的结果)。同样,上图的右侧稍微暗一些,这意味着很难很好地对其进行阈值处理。

最终图片:

enter image description here

结果并不完美,但它已经完全去除了高度可见的纸张纹理图案,同时保留了比更简单的过滤方法更多的高频内容。

编辑

填充区域通常是纯色的,因此如果您仔细观察图像,会显得有些突出。您还可以尝试向填充区域添加一些低强度零均值高斯噪声,使它们看起来更逼真。您必须选择噪声方差以匹配背景。根据经验确定它可能就足够了。

这是添加了噪声的处理后的图像:

enter image description here

请注意,纸张图案被移除的部分更难看到,因为添加的高斯噪声掩盖了它们。我对整个图像使用了相同的高斯分布,但如果你想要更复杂,你可以对面部、背景等使用不同的分布。

关于matlab - 从照片中去除纸张纹理图案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5450228/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com