今天跟大家聊聊我这两天捯饬的“董白”项目,这名字听着挺古典,但是个图像处理的小玩意儿。
我寻思着搞个能自动给照片加点古风滤镜的东西,正好想到董卓他孙女,渭阳君董白,就拿这名儿当个代号,图个乐呵。
说干就干,先是到处搜罗资料,看看现在都有啥成熟的古风滤镜算法。网上扒拉了一圈,发现 OpenCV 这玩意儿挺靠谱,功能强大,资料也多,就决定用它了。
第一步,先把 OpenCV 环境搭起来。我用的是 Python,直接 pip install opencv-python 就搞定了,简单粗暴。
环境有了,接下来就是读取图片。OpenCV 读图挺方便,`*()` 一行代码就搞定。我随便找了张风景照,先看看效果。
读进来了,下一步就是折腾滤镜。古风嘛得有点泛黄的感觉,还得有点水墨画的意境。我试了好几种方法,像啥色彩平衡、曲线调整、高斯模糊之类的,挨个试了个遍。
色彩平衡搞出来颜色太艳,不像古风;曲线调整倒是有点意思,但调起来太麻烦,参数太多,调半天也调不出满意的效果;高斯模糊倒是能有点水墨画的意思,但直接糊上去,细节全没了,看着像得了白内障。
后来我琢磨着,能不能把这些方法结合起来用?先用曲线调整整体色调,再用高斯模糊柔化一下,再加点颗粒感,模拟老照片的感觉。
这么一折腾,效果还真不错!照片泛着淡淡的黄色,细节也还在,有点那种老照片的味道了。
不过光有颜色还不够,还得有点意境。我又在网上找了一些水墨画的素材,想把这些素材叠加到照片上。
OpenCV 提供了图像叠加的功能,`*()` 可以把两张图片按权重叠加起来。我试着把水墨画素材和照片叠加,调整了一下权重,发现效果还不错,照片更有意境了。
我还加了个边框。网上找了个古色古香的边框素材,用 OpenCV 把边框叠加到照片上,一下子就更有感觉了。
整个过程,我都是一边学一边做,遇到问题就上网查资料,或者找朋友请教。虽然过程挺折腾,但看到效果,还是挺有成就感的。
这个“董白”项目还很简单,只是个简单的滤镜。以后有时间,我还想继续完善它,加入更多古风元素,让它能自动识别照片内容,根据内容选择不同的滤镜效果。
还没有评论,来说两句吧...