用python+pillow模块实现抖音晃眼睛的特效,图像处理之路(附源码)

Posted 小雁子学Python

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用python+pillow模块实现抖音晃眼睛的特效,图像处理之路(附源码)相关的知识,希望对你有一定的参考价值。

前言

利用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处理手写笔记。

为了感谢读者们,我想把我最近收藏的一些编程干货分享给大家,回馈每一个读者,希望能帮到你们。

干货主要有:

① 2000多本Python电子书(主流和经典的书籍应该都有了)

② Python标准库资料(最全中文版)

③ 项目源码(四五十个有趣且经典的练手项目及源码)

④ Python基础入门、爬虫、web开发、大数据分析方面的视频(适合小白学习)

⑤ Python学习路线图(告别不入流的学习)

All done~私信获取完整源代码。。

以上是关于用python+pillow模块实现抖音晃眼睛的特效,图像处理之路(附源码)的主要内容,如果未能解决你的问题,请参考以下文章

用pillow模块实现图片验证码

python 基于pillow模块生成随机图片验证码教程

pillow教程

python安装pillow模块错误

python pillow模块用法

[Python]Windows系统下安装Pillow模块