欢迎加入我们卧虎藏龙的python讨论qq群:729683466
导 语
有一种美叫朦胧美
不同于惊鸿一瞥
这种美更加耐人寻味
适当给照片加上朦胧特效
可增加神秘感噢
今天咱们就用python实现“毛玻璃”特效
代码及相关资源获取
1:关注“python趣味爱好者”公众号,回复“draw62 ”获取源代码。
2:加入群聊:729683466。在群文件中下载源代码以及相关资料。
效果演示
开发工具
python3.6.4
numpy,cv2
往期精选
讲解部分
处理和图片相关的东西,我们第一步就是要读取图片,读取图片的库函数有很多。比较好用的是cv2。
另外,由于图片是由矩阵表示的,所以我们还需要处理矩阵相关的库函数。这里用到的是numpy。
首先我们要定义一个和原来的图片尺寸一样的矩阵
#新建目标图像
dst = np.zeros_like(src)
dst就是我们初始化的矩阵,这里面的每个像素点都对应原图像矩阵中的一个像素点。在之后的实现毛玻璃的for循环中,我们将每个像素点都替换成我们计算得到的值。
实现毛玻璃效果,我们做的实际上是我们在像素点周围随机选一个像素点,用来取代当前像素点,这样处理后,就会显得图片有一些模糊。
大家可以看一看我们处理的图片,是一头老虎带着一头小老虎在风雪中蹒跚,在加上毛玻璃效果后,更显示出了一种顶风逆雪的王者气概。
我们用到的代码就是这样的,一个非常简单的嵌套循环
for y in range(rows - offsets):
for x in range(cols - offsets):
random_num = np.random.randint(0,offsets)
dst[y,x] = src[y + random_num,x + random_num]
其中的rows代表的是当前像素点的行数,cols代表的是当前像素点的列数。其中的offsets表示的是偏移量,也就是在几个像素点的范围内随机替代。
偏移量越大,图片的模糊效果就越强,之前我们用到的是5的偏移量,我们现在换一个更大的偏移量
可以看出,图片的模糊程度比之前更大了。有点像油画的感觉了。
因为未知才有所期待
就像你也不知道下一期公众号给你带来怎样的惊喜
本期分享到此结束
很高兴你能看到最后
作者|齐
编辑|潇洒哥
感谢大家观看
有钱的老板可打赏一下小编哦
扫码关注我们 | |
QQ群:729683466 |
◰
参考来源
代码作者:Eastmount
参考来源:https://blog.csdn.net/Eastmount/article/details/89853630?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task