没有真正需要编写任何代码并使用OpenCV,因为您可以在命令行上执行所有这些操作图像魔术师它安装在大多数 Linux 发行版上,并且适用于 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
The 0x15
控制滚降,或者变化的渐进程度,因此增加0x15
如果你想要更平滑的滚降或下降到0x5
如果你想要更难的话。这+1+1%
表示椭圆将比图像的宽度小 1%,比图像的高度小 1%。因此,如果您想要更小的光孔和更大的暗角,请选择+10+10%
。变暗的程度由gray(50%)
所以你可以欺骗它,直到你也高兴:-)
最后,灰尘。最好的办法是获取一些灰尘的 PNG 图像,调整其大小以匹配图像的大小并覆盖它。
首先得到Mona的尺寸:
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 并行- 请参阅我的其他一些答案作为示例。
关键词:人工老化,图像老化,命令行,命令行,ImageMagick,magick,旧,旧照片,照片效果,转换,灰尘,划痕,褪色,褪色。