公众号 “菜鸟学Python”, 设为 “星标”
第455篇原创,和30w+一起学Python!
对于PS,大家都不会陌生,小编身边的很多人都用PS进行过图像的编辑,PS的功能十分强大,但是软件本身十分庞大,对于电脑的性能要求较高。
今天,小编就用python来实现PS当中的33种图像处理的算法,让大家能够不用PS,依旧可以快速的实现图像的处理。
01.环境配置
本次程序用到的python库非常的多,为了让大家能够使用本次的程序,我们需要明确环境的配置要求。
Pillow 7.2.0
scikit-image 0.17.2
opencv-python 3.4.10.35
numpy 1.19.0
大家需要确保自己的python环境中有上述的第三方库,才能执行下面我们所涉及到的程序内容。
02.软件整体讲解
在PS的图像处理算法中,有针对于两张图片实现的图层混合的算法,也有针对于单张图片处理的算法,小编对这两种情形都有涉及,让大家可以根据情况灵活处理。由于是面向用户的软件,所以我们先来看看整体的页面布局,如下图所示:
上图中,可以看到,软件界面中上方存在两种类型的算法选择,分别是单图算法和双图算法,位于界面左侧的是四个不同的按钮,分别是两个打开本地图片的按钮和执行单图算法和双图算法的按钮。
中间的三个显示区域,则是用来显示不同图片的展示区。界面右上角的按钮是用来退出程序的按钮。
03.算法程序讲解
针对于单图和双图,小编一共涉及到33种算法,单图算法中,包含了常见的素描、浮雕、球形图、旋转模糊、旧照片等二十余种算法,而针对于双图算法中,则是包含了图片的叠加、实色混合等十余种算法。仅仅这些算法的代码,就有八百多行,这里我们简单的针对几种算法的程序进行讲解演示。
1).单图算法
把照片弄成旧照片:
对于单图算法,我们来说明一下旧照片的函数,首先是将输入图片的RGB三通道进行分离,然后将输出图片的三个通道按照不同的比例进行融合。最后将输出图片中大于1的像素值设置为1,否则就保留原先的数值。其算法效果如下图所示。
2).双图算法
修改照片不透明度:
对于双图算法,更多的是对于图层的基础操作,因此在程序上会简单一些,例如上图中不透明度函数。函数仅仅有一行代码,就是将两张图片按照不同的透明度比例进行叠加,即可完成。其效果如下图所示。
03.界面程序讲解
在对图像算法有了介绍后,接下来我们来看一下界面的程序中,对于各个控件是如何构建的吧。本次界面的搭建用到的是python的内置库tkinter。其页面布局的程序大家可以下载源码来自行分析,我们主要来看一下页面中各个按钮所控制的函数功能。
对于打开图片1和打开图片2两个按钮,其控制的函数作用就是打开图片并显示在界面中,函数如下图所示:
上述的函数通过读取本地图片文件,然后调整图片的大小,并显示在Label控件中。
对于单图执行和双图执行的按钮控件,它们的作用是将图片按照特定的算法进行处理,并将处理后的结果显示在最右侧的结果展示中,以单图执行的函数为例。
函数首先读取图片,并将函数大小调整为偶数,因为某些算法的执行要求输入图片大小为偶数。然后按照选择的单图算法来处理图片并保存到本地,最后,读取处理好的图片显示到界面中。
04.效果展示:
以上就是对于界面中主要按钮控件所控制函数的讲解,接下来我们来看一下程序最终的执行效果吧。
以上就是小编今天为大家带来的分享,Python真的是太强大了!可以玩爬虫,自动化办公,数据分析,图像处理,机器学习,数据挖掘,金融分析,自动化测试,后端开发,运维等等方方面面都可以用。小伙伴,赶紧学起来吧!
-
推荐阅读:
-
入门: 最全的零基础学Python的问题 | 零基础学了
8个月的Python | 实战项目 |学Python就是这条捷径
-
干货:爬取豆瓣短评,电影《后来的我们》 |
38年NBA最佳球员分析 | 从万众期待到口碑扑街!唐探
3令人失望 | 笑看新倚天屠龙记 | 灯谜答题王 |用Python做个海量小姐姐素描图 |
-
趣味:弹球游戏 | 九宫格 | 漂亮的花 | 两百行Python《天天酷跑》游戏!
-
AI: 会做诗的机器人 | 给图片上色 | 预测收入 | 碟中谍这么火,我用机器学习做个迷你推荐系统电影
年度爆款文案
点这里,直达菜鸟学PythonB站!!
转载:https://blog.csdn.net/cainiao_python/article/details/114826415