用python+pillow模块实现抖音晃眼睛的特效,图像处理之路(附源码)
前言利用Python实现抖音晃眼睛的特效,让我们愉快地开始吧~开发工具Python版本: 3.6.4相关模块:pillow模块;numpy模块;argparse模块;以及一些Python自带的模块。环境搭建安装Python并添加到环境变量,pip安装需要的相关模块即可。原理简介看抖音的Logo:很明显就是把一张图片的GB通道和R通道进行了略微的错位以后产生的效果,因此代码实现起来很简单,如下图所示
·
前言
利用Python实现抖音晃眼睛的特效,让我们愉快地开始吧~
开发工具
Python版本: 3.6.4
相关模块:
pillow模块;
numpy模块;
argparse模块;
以及一些Python自带的模块。
环境搭建
安装Python并添加到环境变量,pip安装需要的相关模块即可。
原理简介
看抖音的Logo:
很明显就是把一张图片的GB通道和R通道进行了略微的错位以后产生的效果,因此代码实现起来很简单,如下图所示:
# 主函数
def main(imagepath):
img = Image.open(imagepath).convert('RGBA')
img_arr = np.array(img)
# 提取R
img_arr_r = copy.deepcopy(img_arr)
img_arr_r[:, :, 1:3] = 0
# 提取GB
img_arr_gb = copy.deepcopy(img_arr)
img_arr_gb[:, :, 0] = 0
# 创建画布把图片错开放
img_r = Image.fromarray(img_arr_r).convert('RGBA')
img_gb = Image.fromarray(img_arr_gb).convert('RGBA')
canvas_r = Image.new('RGB', img.size, color=(0, 0, 0))
canvas_gb = Image.new('RGB', img.size, color=(0, 0, 0))
canvas_r.paste(img_r, (6, 6), img_r)
canvas_gb.paste(img_gb, (0, 0), img_gb)
img_douyin = Image.fromarray(np.array(canvas_gb) + np.array(canvas_r))
img_douyin.save('douyin.jpg')
img_douyin.show()
当然你也可以恶搞一下,错开其他通道,看看有什么效果(在效果展示里也给出了)。 完整源代码详见相关文件。 效果展示 使用方式: 在cmd窗口运行douyin_effect.py文件即可,命令格式为: python douyin_effect.py -i xxx.jpg 其中,xxx.jpg为待处理图片的路径。 效果展示: (1)错开GB和R通道
(2)错开B和RG
(3)错开RB和G
文章到这里就结束了,感谢你的观看,Python图像特效,下个分享Python处理手写笔记。
为了感谢读者们,我想把我最近收藏的一些编程干货分享给大家,回馈每一个读者,希望能帮到你们。
更多推荐
已为社区贡献1条内容
所有评论(0)