我有旧画的图像。这些绘画既旧又尘土飞扬,色彩淡淡,如here所示。
如何为任何图像赋予这种“旧”外观?我找不到任何过滤器或openCV函数来实现这种外观?
编辑:我的问题不同,另一个问题是使用棕褐色滤镜和颗粒效果解决了该问题。我不是在寻找那种外观。我希望我的图像看起来像一幅损坏的旧画。这意味着颜色应该褪色,并且应该具有整体多灰尘的外观。
答案 0 :(得分:3)
真正不需要编写任何代码并使用 OpenCV ,因为您可以使用大多数Linux发行版中安装的 ImageMagick 在命令行上完成所有操作。适用于macOS和Windows。
首先,褪色。这可以通过减少图像的饱和度来模拟。因此,如果我们从蒙娜丽莎的这张图片开始:
我们可以使用此命令淡出她,使亮度保持在其原始值的100%不变,并将饱和度降低到其原始值的50%。我故意将所有内容都“过度修饰” ,以便您可以清楚地看到它。您也许应该更加微妙。
convert mona.jpg -modulate 100,50 result.jpg
下一步,渐晕-或暗角。您可以使用以下内容:
convert mona.jpg \
\( +clone -fill white -colorize 100 -background "gray(50%)" -vignette 0x15+1+1% \) \
-compose multiply -composite result.jpg
0x15
控制着滚降,或变化的程度,因此,如果您想更平滑地滚降,请增加0x15
,或者如果要滚降到0x5
更难。 +1+1%
表示椭圆将比图像的宽度小1%,比图像的高度小1%。因此,如果您想要较小的光孔和较大的暗角,请使用+10+10%
。变暗的程度受gray(50%)
的控制,因此您可以在其中变暗,直到您也满意为止:-)
最后是灰尘。最好的办法是获取一些灰尘的PNG图像,调整其大小以使其与图像大小相符,然后将其覆盖。
首先获得莫娜的大小:
identify mona.jpg
mona.jpg JPEG 403x600 403x600+0+0 8-bit sRGB 57130B 0.000u 0:00.000
所以,她是403x600。这是一些灰尘的样本-再次,您可能会更微妙-我只是举手之劳,所以它显示:
让我们调整灰尘的大小以匹配并覆盖它:
convert mona.jpg \( dust.png -resize 403x600\! \) -composite result.jpg
然后,您可以将褪色,渐晕和灰尘这三种效果组合到一个命令中:
convert mona.jpg -modulate 100,50% \
\( +clone -fill white -colorize 100 -background "gray(50%)" -vignette 0x15+1+1% \) \
-compose multiply -composite \
\( dust.png -resize 403x600\! \) -composite result.jpg
如果要处理大量图像,则可以使用 GNU Parallel 非常轻松地并行编写全部脚本-有关示例,请参见我的其他一些答案。
关键字::人工老化,图像老化,命令行,命令行,ImageMagick,magick,旧照片,照片效果,转换,灰尘,划痕,褪色,褪色。
答案 1 :(得分:0)
我建议使用样式转换工具,而不是手动提出模仿旧画样式的程序。有很多可用的免费样式转换工具和库。
答案 2 :(得分:0)
我建议您使用OpenCV各种过滤器来创建所需的效果。您必须尝试各种过滤器并尝试找出最适合您的方法,但是我有一些建议可以尝试。
对于颜色,请尝试使用较小的内核尺寸的Erode和Dilate进行褪色。 接下来,添加一些噪声,Salt and Pepper效果会很好,也可以在应用噪声后尝试使用高斯滤波器。 Salt和Pepper是非线性噪声,而Gaussian是线性滤波器,因此它只会传播噪声,但要保持滤波器内核较小。
请尝试查找一些灰尘,页面边缘撕裂(无背景)的图像,如以下链接所示: https://www.google.co.in/searchq=dust+png+images&newwindow=1&rlz=1C1CHBF_enIN797IN798&source=lnms&tbm=isch&sa=X&ved=0ahUKEwjtq7ZvfPcAhXJO48KHQ2UD0kQ_AUICigB&biw=1536&bih=759#imgrc=_
请牢记Alpha透明度,将其遮盖在图像上。
按照正确的比例和顺序排列所有事物,您将得到旧的尘土飞扬的图像。