前言
小时候的旧照片,清晰度很差,没拍好的照片模糊看不清。
现在反而发现很多模糊特效、所以说只要是特效、拍照的方式运用的好,能更加体现出照片神秘美!
哈哈哈,所以说大家的拍照技巧也可以提升提升啦~(比如有爱拍照的对象的优先,嘻嘻)
今天就带着大家体验一下:如何能把高清的照片变成朦胧美呢?
我发现一个宝藏小程序代码,简直是神器,比我用过的任何一个APP都好用,不信你看看下面的操作吧~
正文
今天实现的是“模糊”特效,用到的当然是咱们熟悉的cv2啦!
一、下面具体讲解下我们今天的小原理:认真听.jpg
我们第一步就是要读取图片,读取图片的库函数有很多。比较好用的是cv2。
另外,由于图片是由矩阵表示的,所以我们还需要处理矩阵相关的库函数。这里用到的是numpy。
首先我们要定义一个和原来的图片尺寸一样的矩阵。
#新建目标图像
dst = np.zeros_like(src)
dst就是我们初始化的矩阵,这里面的每个像素点都对应原图像矩阵中的一个像素点。在之后的实现毛玻璃的for循环
中,我们将每个像素点都替换成我们计算得到的值。实现毛玻璃效果,我们做的实际上是我们在像素点周围随机选一个
像素点,用来取代当前像素点,这样处理后,就会显得图片有一些模糊。
二、环境准备
Python3、 Pycharm 、numpy、cv2 一些做图片的素材大家可以自由选择这里就不展示,等下会给大家随机找几组效
果哈!
第三方库的安装:pip install +模块名 如安装出现问题可以直接找我私信即可哈
三、代码演示
import cv2
import numpy as np
#读取原始图像
src = cv2.imread('3.jpg')
#新建目标图像
dst = np.zeros_like(src)
#获取图像行和列
rows, cols = src.shape[:2]
#定义偏移量和随机数
offsets = 10
random_num = 0
#毛玻璃效果: 像素点邻域内随机像素点的颜色替代当前像素点的颜色
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]
#显示图像
cv2.imshow('src',src)
cv2.imshow('dst',dst)
cv2.whit)
cv2.destroyAllWindows()
四、效果展示
第一组随机图👇:
偏移量越大,图片的模糊效果就越强,刚刚我们用到的是5的偏移量,我们现在换一个更大的偏移量。
第二组随机图👇:
这组偏移量为10,是不是看的更加模糊,有点儿像油画那味儿了!
第三组随即图👇:
最后这组的话可以换下其他的类型的,比如动物更像油画啦,小白狐特效化之后炸毛了一样哈哈哈~
大家还可以试试其他类型的嘛:比如风景等小编只用了人物跟动物的!
小结
嘿嘿栗子就分享到这里啦!有没有爱上这款模糊特效吖~赶紧自己动手试试看吧!
源码基地——
🎉往期推荐阅读——
项目1.0 超级玛丽
程序员自制游戏:超级玛丽100%真实版,能把你玩哭了~【附源码】
项目1.1 扫雷
Pygame实战:据说这是史上最难扫雷游戏,没有之一,你们感受下......
项目1.2 魂斗罗
Pygame实战:多年后“魂斗罗”像素风归来 不止是经典与情怀@全体成员
项目1.3 太空机甲游戏
Pygame实战:牛,几千行代码实现《机甲闯关冒险游戏》,太牛了(保存起来慢慢学)
🎄文章汇总——
项目1.0 Python—2021 |已有文章汇总 | 持续更新,直接看这篇就够了
(更多内容+源码都在文章汇总哦!!欢迎阅读~)