matlab中删除照片_matlab – 从照片中删除纸张的纹理图案

不幸的是,你几乎停留在空间域,因为模式不是真正重复足够的傅立叶分析是有用的。

正如@Jonas和@michid指出的,过滤将帮助你有这样的问题。通过过滤,您需要在要保留的详细信息量和要删除的噪点(或不需要的图像组件)之间进行权衡。例如,@Jonas使用的中值滤波器完全去除纸张纹理(即使是图像底部边缘附近的圆形划痕),但它也会去除眼睛,头发,脸部和背景中的所有纹理(虽然我们不是真的关心背景这么多,它的前景是重要的)。您还会看到图像对比度略有降低,这通常是不受欢迎的。这给图像一个人造的外观。

下面是我将如何处理这个问题:

>检测纸张纹理图案:

>对图像应用高斯模糊(使用大内核,以确保所有纸张纹理信息被破坏

>计算模糊图像和原始图像之间的图像差异

> EDIT 2对差异图像应用高斯模糊(使用小的3×3内核)

>使用经验确定的阈值对上述模式进行阈值。这产生可以用作掩码的二进制图像。

>使用中值滤波(如@Jonas所述)仅替换与纸张图案对应的图像部分。

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

您希望在上述图像中存在尽可能少的实际图像信息。你会看到,你可以非常微弱地弄清楚脸的边缘(这不是好的,但它是我有时间的最好的)。您还希望此纸张纹理图像尽可能均匀(以便阈值在图像上给出相等的结果)。再次,上面的图像的右手边稍微更暗,这意味着阈值很好将是困难的。

最终图片:

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

编辑

填充区域通常是纯色的,因此,如果你仔细看看图像,站出来一点。您还可以尝试为填充区域添加一些低强度零均值高斯噪声,使它们看起来更逼真。你必须选择噪声方差来匹配背景。确定它的经验可能是足够好。

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值