飞道的博客

用Python实现33种PS图像算法软件,让女朋友秀出天际!

345人阅读  评论(0)

公众号 “菜鸟学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真的是太强大了!可以玩爬虫,自动化办公,数据分析,图像处理,机器学习,数据挖掘,金融分析,自动化测试,后端开发,运维等等方方面面都可以用。小伙伴,赶紧学起来吧!


   
  1. 推荐阅读:
  2. 入门: 最全的零基础学Python的问题  | 零基础学了 8个月的Python  | 实战项目 |学Python就是这条捷径
  3. 干货:爬取豆瓣短评,电影《后来的我们》 |  38年NBA最佳球员分析 |   从万众期待到口碑扑街!唐探 3令人失望  | 笑看新倚天屠龙记 | 灯谜答题王 |用Python做个海量小姐姐素描图 |
  4. 趣味:弹球游戏  | 九宫格  | 漂亮的花 | 两百行Python《天天酷跑》游戏!
  5. AI: 会做诗的机器人 | 给图片上色 | 预测收入 | 碟中谍这么火,我用机器学习做个迷你推荐系统电影

年度爆款文案

点这里,直达菜鸟学PythonB站!!

转载:https://blog.csdn.net/cainiao_python/article/details/114826415
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场